Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs componentDidMount是否每次在类中的某个位置设置状态时都会触发?_Reactjs_React Native_Google Cloud Firestore_State_Listener - Fatal编程技术网

Reactjs componentDidMount是否每次在类中的某个位置设置状态时都会触发?

Reactjs componentDidMount是否每次在类中的某个位置设置状态时都会触发?,reactjs,react-native,google-cloud-firestore,state,listener,Reactjs,React Native,Google Cloud Firestore,State,Listener,我想知道是否每次我设置state时(componentDidMount)都会触发componentDidMount 其次,我在componentDidMount内部调用函数fetchData,而fetchData是一个数据库侦听器,因此它侦听Firestore数据库中的更改。如果我每次从componentDidMount调用它,它是如何调用的 componentDidMount是在组件首次添加到DOM时调用的(或在本机上时调用渲染树),而不是在随后更新/重新渲染该组件时调用的 从上的“反应文档”

我想知道是否每次我设置state时(
componentDidMount
)都会触发
componentDidMount


其次,我在
componentDidMount
内部调用函数
fetchData
,而
fetchData
是一个数据库侦听器,因此它侦听
Firestore
数据库中的更改。如果我每次从
componentDidMount
调用它,它是如何调用的

componentDidMount是在组件首次添加到DOM时调用的(或在本机上时调用渲染树),而不是在随后更新/重新渲染该组件时调用的

从上的“反应文档”:


componentDidMount()
方法在将组件输出呈现到DOM后运行。这是一个设置计时器的好地方

以及以下文件:

componentDidMount()
在装入组件(插入到树中)后立即调用。需要DOM节点的初始化应该在这里进行。如果需要从远程端点加载数据,这是实例化网络请求的好地方


设置状态只会导致组件重新招标。

请编辑问题以显示未按预期方式运行的代码。我建议阅读:我回答了你下面的第一个问题。对于你的第二个问题,我建议你打开一个新的帖子,然后包括以下内容。另请参阅和。@FrankvanPuffelen我在另一篇文章中问了第二个问题,你能检查一下吗?当你更新状态时,
componentdiddupdate
是捕捉事件的好地方。@O.O这是放置数据库侦听器的好地方吗?