2017-08-27 51 views
2

我目前正在基于状态更改重新呈现父组件中的子组件,并且我需要知道子组件在屏幕上完全安装并重新呈现的时间。这里有一个准例如:如何检查React Native组件何时完成重新呈现?

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

的状态改变后,响应的一般程序将然而使用componentDidUpdate(prevProps, prevState),这个生命周期事件state后才触发的,而不考虑什么样的状态变化将在<Parent>内更新的影响更新零件。

我遇到的问题是,尽管状态已完全更新,但新的子组件尚未可用,因为它尚未实际完成重新呈现。有没有办法检查子组件重新呈现的时间?

回答

2

您可以将回调传递给组件(如isMounted()),并将其称为componentDidMountcomponentDidUpdate生命周期挂钩中的子项。

如果你需要这个任意组件,你可以在他们React.Children.mapsee docs)迭代,并添加了生命周期钩子上飞(这有点容易出错,你就需要有一流的组件)

+1

这是它!谢谢你的建议。 – Progoogler

相关问题