2016-06-26 98 views

回答

0

當組件的狀態發生變化時,組件會被React重新渲染。在這樣做的同時,其子組件也會被重新渲染,這也會導致它們的變化。

7

正如您所期望的那樣,它與語言中的其他任何地方的機制基本相同。基元通過值傳遞,而不是基元的變量將通過引用傳遞。

React在內部更新道具,以便孩子始終擁有道具的最新價值。

This is the lifecycle method當接收道具的新值​​時被調用。

但是,請確保您尊重已投入使用的基礎架構以及React爲您提供的公開API。

0

如果您將組件的狀態作爲道具傳遞給其子組件,那麼如果父組件的狀態發生更改,則重新呈現該子組件,並使用刷新的屬性重新呈現子組件。孩子們並不像父母那樣直接傾聽國家的變化,他們只是因爲父母狀態的變化而被重新呈現並更新。

看一下這個 - https://facebook.github.io/react/docs/multiple-components.html。它將幫助您瞭解這個概念的工作原理。希望這可以幫助!

+0

在子組件中,我想檢測是否有更改 - 字段值。所以我通過從父母到孩子的道具傳遞這些信息。但是小孩ALREADY有改變的字段值,因爲父母狀態在道具中下降了。 –

+0

@DukeDougal您可以參考我的回答,瞭解您可以用來攔截這些傳入更改的生命週期方法。你可以在那裏檢查你的改變。這個函數是用道具的新值​​調用的,你仍然可以使用指向你的組件的'this.props'引用訪問舊值。 –