2016-07-28 60 views
2

我知道使用shouldComponentUpdate()可以重新渲染一個組件(而不是整個DOM),但是有可能只重新渲染一個組件的一個PROP?在我的應用程序中的一個實例中,我不希望整個組件更新,但只需要更改一個特定的道具。可能只是重新渲染反應本地,而不是整個組件的一個支柱組件?

+0

什麼樣的道具? – Cherniv

+0

基本上我有一個道具,它在組件的補間設置中移動穿過屏幕。這在組件被安裝時開始。當它在屏幕中間時,我想改變這個組件的另一個道具。但是如果我這樣做了,所有道具都會更新,這意味着支持補間設置的道具也會更新,這意味着它再次進入補間設置,並且組件在其移動開始時重新開始穿過屏幕。 –

回答

1

你可能不能這樣做,因爲這不是它應該如何工作。該組件被更新以反映對其狀態和道具所做的所有更改。解決這個問題的最好方法就是不更新父組件傳遞的道具。

或者,您也可以使用狀態來保存您不想更新的值,並在組件的構造函數中設置這些值。