我目前正在基于状态更改重新渲染父组件中的子组件,我需要知道子组件何时完全挂载并在屏幕上重新呈现。这是一个准例子:
<Parent>
{ this.state.showChild1 ? <Child1/> : <Child2/> }
</Parent>
状态更改后响应的一般过程将使用componentDidUpdate(prevProps, prevState)
但是,此生命周期事件仅在state
更新后触发,而不考虑状态更改在{{1}内更新的影响}} 零件。
我遇到的问题是虽然状态已完全更新,但新的Child组件尚未可用,因为它尚未实际完成重新渲染。有没有办法检查子组件何时重新渲染?
答案 0 :(得分:2)
您可以将回调传递给组件(如FittedBondDiscountCurve
),并在isMounted()
和componentDidMount
生命周期挂钩中的子项中调用它。
如果您需要使用任意组件,您可以使用componentDidUpdate
(see docs)迭代它们并动态添加生命周期挂钩(这有点容易出错,您需要上课组件)