2017-08-27 74 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

相關問題