Я пытаюсь создать приложение чата на основе реагирования, с Firebase для данных и аутентификации.
Сейчас я пытаюсь создать экран, на котором будет отображаться лента чата, получающая коллекцию сообщений из моего проекта Firebase. используя firestore.
Во время моей попытки создать такой экран произошла ошибка;
"Текстовые строки должны отображаться с помощью компонента " вместе с индикатором, показывающим, что это была ошибка, на setLoading(false)
Error: Text strings must be rendered within a component.
This error is located at:
in RCTView (created by View)
in View (created by MainScreen)
in MainScreen (created by SceneView)
in StaticContainer
in EnsureSingleNavigator (created by SceneView)
in SceneView (created by SceneView)
in RCTView (created by View)
in View (created by DebugContainer)
in DebugContainer (created by MaybeNestedStack)
in MaybeNestedStack (created by SceneView)
in RCTView (created by View)
in View (created by SceneView)
in RNSScreen
in Unknown (created by InnerScreen)
in Suspender (created by Freeze)
in Suspense (created by Freeze)
in Freeze (created by DelayedFreeze)
in DelayedFreeze (created by InnerScreen)
in InnerScreen (created by Screen)
in Screen (created by SceneView)
in SceneView (created by NativeStackViewInner)
in Suspender (created by Freeze)
in Suspense (created by Freeze)
in Freeze (created by DelayedFreeze)
in DelayedFreeze (created by ScreenStack)
in RNSScreenStack (created by ScreenStack)
in ScreenStack (created by NativeStackViewInner)
in NativeStackViewInner (created by NativeStackView)
in RNCSafeAreaProvider (created by SafeAreaProvider)
in SafeAreaProvider (created by SafeAreaInsetsContext)
in SafeAreaProviderCompat (created by NativeStackView)
in NativeStackView (created by NativeStackNavigator)
in PreventRemoveProvider (created by NavigationContent)
in NavigationContent
in Unknown (created by NativeStackNavigator)
in NativeStackNavigator (created by App)
in EnsureSingleNavigator
in BaseNavigationContainer
in ThemeProvider
in NavigationContainerInner (created by App)
in App
in RCTView (created by View)
in View (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer
in Chattr(RootComponent), js engine: hermes
Мой вопрос: почему я получаю эту ошибку? На данный момент я понятия не имею, где это происходит, и уже несколько часов сижу, пытаясь найти решение.
Запустил npm start, npm start android, приложение создано успешно и ошибка произошло, но за сообщением об ошибке не отобразился экран.
Я пытаюсь создать приложение чата на основе реагирования, с Firebase для данных и аутентификации. Сейчас я пытаюсь создать экран, на котором будет отображаться лента чата, получающая коллекцию сообщений из моего проекта Firebase. используя firestore. Во время моей попытки создать такой экран произошла ошибка; "Текстовые строки должны отображаться с помощью компонента " вместе с индикатором, показывающим, что это была ошибка, на setLoading(false) [code]useEffect(() => { const unsubscribe = firestore() .collection('chats') .orderBy('createdAt', 'asc') .limitToLast(15) .onSnapshot(querySnapshot => { const chatsArr = []; querySnapshot.forEach(doc => { const id = doc.id; const data = doc.data(); chatsArr.push({id, ...data}); }); setLoading(false); setChats(chatsArr); });
return () => { unsubscribe(); setLoading(false); }; }, []); [/code] Вот стек: [code]Error: Text strings must be rendered within a component.
This error is located at: in RCTView (created by View) in View (created by MainScreen) in MainScreen (created by SceneView) in StaticContainer in EnsureSingleNavigator (created by SceneView) in SceneView (created by SceneView) in RCTView (created by View) in View (created by DebugContainer) in DebugContainer (created by MaybeNestedStack) in MaybeNestedStack (created by SceneView) in RCTView (created by View) in View (created by SceneView) in RNSScreen in Unknown (created by InnerScreen) in Suspender (created by Freeze) in Suspense (created by Freeze) in Freeze (created by DelayedFreeze) in DelayedFreeze (created by InnerScreen) in InnerScreen (created by Screen) in Screen (created by SceneView) in SceneView (created by NativeStackViewInner) in Suspender (created by Freeze) in Suspense (created by Freeze) in Freeze (created by DelayedFreeze) in DelayedFreeze (created by ScreenStack) in RNSScreenStack (created by ScreenStack) in ScreenStack (created by NativeStackViewInner) in NativeStackViewInner (created by NativeStackView) in RNCSafeAreaProvider (created by SafeAreaProvider) in SafeAreaProvider (created by SafeAreaInsetsContext) in SafeAreaProviderCompat (created by NativeStackView) in NativeStackView (created by NativeStackNavigator) in PreventRemoveProvider (created by NavigationContent) in NavigationContent in Unknown (created by NativeStackNavigator) in NativeStackNavigator (created by App) in EnsureSingleNavigator in BaseNavigationContainer in ThemeProvider in NavigationContainerInner (created by App) in App in RCTView (created by View) in View (created by AppContainer) in RCTView (created by View) in View (created by AppContainer) in AppContainer in Chattr(RootComponent), js engine: hermes [/code] А вот и весь код MainScreen: [code]import React, {useEffect, useState} from 'react'; import auth from '@react-native-firebase/auth'; import firestore from '@react-native-firebase/firestore'; import { View, StyleSheet, Text, Alert, ActivityIndicator, FlatList, } from 'react-native'; import ChatMessage from '../components/ChatMessage'; import SignOutButton from '../components/SignOutButton';
export default MainScreen; [/code] Мой вопрос: почему я получаю эту ошибку? На данный момент я понятия не имею, где это происходит, и уже несколько часов сижу, пытаясь найти решение. Запустил npm start, npm start android, приложение создано успешно и ошибка произошло, но за сообщением об ошибке не отобразился экран.