如何检查React Native组件何时完成重新呈现?

时间:2017-08-27 19:48:24

标签: react-native

我目前正在基于状态更改重新渲染父组件中的子组件,我需要知道子组件何时完全挂载并在屏幕上重新呈现。这是一个准例子:

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

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

我遇到的问题是虽然状态已完全更新,但新的Child组件尚未可用,因为它尚未实际完成重新渲染。有没有办法检查子组件何时重新渲染?

1 个答案:

答案 0 :(得分:2)

您可以将回调传递给组件(如FittedBondDiscountCurve),并在isMounted()componentDidMount生命周期挂钩中的子项中调用它。

如果您需要使用任意组件,您可以使用componentDidUpdatesee docs)迭代它们并动态添加生命周期挂钩(这有点容易出错,您需要上课组件)