Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.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
React native 如何检查React本机组件何时完成重新渲染?_React Native - Fatal编程技术网

React native 如何检查React本机组件何时完成重新渲染?

React native 如何检查React本机组件何时完成重新渲染?,react-native,React Native,我当前正在基于状态更改重新呈现父组件中的子组件,我需要知道子组件何时已完全装入并在屏幕上重新呈现。下面是一个准示例: <Parent> { this.state.showChild1 ? <Child1/> : <Child2/> } </Parent> {this.state.showChild1?:} 状态更改后响应的一般过程将使用componentDidUpdate(prevProps,prevState)但是,此生命周期事件仅在状

我当前正在基于状态更改重新呈现父组件中的子组件,我需要知道子组件何时已完全装入并在屏幕上重新呈现。下面是一个准示例:

<Parent>
  { this.state.showChild1 ? <Child1/> : <Child2/> }
</Parent>

{this.state.showChild1?:}
状态更改后响应的一般过程将使用
componentDidUpdate(prevProps,prevState)
但是,此生命周期事件仅在
状态
更新后触发,而不考虑状态更改将在
组件内更新的内容的影响


我遇到的问题是,尽管状态已经完全更新,但新的子组件仍然不可用,因为它实际上还没有完成重新渲染。是否有方法检查子组件何时重新渲染

您可以将回调传递到组件中(类似于
isMounted()
),并在
componentDidMount
componentdiddupdate
生命周期挂钩中的子级中调用它


如果您需要使用任意组件,您可以使用
React.Children.map
()对它们进行迭代,并动态添加生命周期挂钩(这很容易出错,您需要使用类组件)

就是这样!谢谢你的建议。