2017-07-18 55 views
2

我正在嘗試調試第三方組件。我看到的情況是,它期望在componentWillMount()中初始化一個內部屬性,然後在componentWillUpdate()中使用它。 React documentation對此有關「更新」方法的說法:React componentWillMount()在componentWillUpdate()之後調用?

更新可能由道具或狀態的更改引起。這些方法 稱爲當一個組件被重新呈現

話雖這麼說,應該在代碼中處理的可能性,componentWillUpdate()componentWillMount()之前被調用,或者我應該被挖,看看有什麼似乎是一個明顯的原因倒序?

我們使用的陣營15.0.1

+0

組件在安裝之前不應該能夠更新。 – Gregg

+1

這裏是問題,組件掛載會在掛載之前觸發,但是在掛載,渲染和掛載之前,組件會被渲染多次,也就是說,你的組件在一個顯示容器內:display:none '。每次屬性更改時,組件都會呈現,但並不意味着它將被掛載。 –

回答

0

正如你提到的,只有當一個組件是重新呈現componentWillUpdate()將被調用。並且componentWillMount()將在初始渲染(組件在其生命週期中僅安裝一次)之前被調用。所以在componentWillUpdate()之後沒有可能componentWillMount()

相關問題