簡體   English   中英

React / Mobx - 組件正在重新渲染,但未調用componentWillReceiveProps()

[英]React/Mobx - component is re-rendering, but componentWillReceiveProps() is not being called

我有React / Mobx應用程序。 當我在商店中進行更改時,組件正在更新(重新呈現),但我需要進行一些比較以添加更多功能,因此我想使用componentWillReceiveProps(nextProps)並將nextProps與this.props進行比較。 不知怎的,它沒有被召喚。 為了得到那個,任何想法,我做錯了什么,或者我還能做些什么?

tl; dr:使用componentWillUpdatecomponentDidUpdate


作為prop傳遞的對象Store永遠不會更改,即使其內容發生更改也是如此。 使用@observable的技巧是它將觸發組件中的更新而不更改道具。 因此,使用諸如shouldComponentUpdate,componentWillReceiveProps和componentDidReceiveProps等生命周期函數將無法使用,因為它們在組件的props或狀態更改時被觸發。 mobx doc在shouldComponentUpdate部分很好地解釋了它。

因此,要捕獲observable中的更新,我們必須在生命周期堆棧中更深入一些,並使用componentWillUpdatecomponentDidUpdate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM