Javascript React和Firebase useEffect不会更新组件

Javascript React和Firebase useEffect不会更新组件,javascript,reactjs,firebase,react-native,firebase-realtime-database,Javascript,Reactjs,Firebase,React Native,Firebase Realtime Database,这是我第一次尝试将React Native(expo)与FireBase一起使用,在异步调用方面有很多困难 现在我尝试通过两次调用FireBase来检索一些数据(我不知道这是否正确) 我的回报是: {console.log("exercies", exerciesList)} 这是控制台,组件首先在返回中打印控制台日志,但在设置新状态时,不会更新组件: 前进前仅添加了e001元素 我怎样才能解决这个问题?我如何处理对FireBase的呼叫,以便在设置状态之前等待应答 非常

这是我第一次尝试将React Native(expo)与FireBase一起使用,在异步调用方面有很多困难

现在我尝试通过两次调用FireBase来检索一些数据(我不知道这是否正确)

我的回报是:

{console.log("exercies", exerciesList)}
这是控制台,组件首先在返回中打印控制台日志,但在设置新状态时,不会更新组件:

前进前仅添加了e001元素

我怎样才能解决这个问题?我如何处理对FireBase的呼叫,以便在设置状态之前等待应答

非常感谢您的帮助,
如果您需要更多信息,我也可以上传整个代码。

您代码的最后一行,[])空数组
[]
使useffect钩子只运行一次

据我所知,我看不出您正在使用状态对象,在您使用状态对象时,您可以在末尾调用useffect,如
},[state])并且它将在每次状态更改时触发

尝试从钩子中删除
[]
,如果检测到更改,它将使react重新呈现组件

线路

return()=>{
isMounted=错误;
};
是一种清理方法,仅在组件被划分/卸载后才会触发,因此useEffect挂钩中的代码永远不会被isMounted=false

其中大部分内容都有很好的文档记录在


希望这有帮助。

是的,现在可以了,只是现在它总是进入useEffect方法。并打印无休止的控制台日志
{console.log("exercies", exerciesList)}