簡體   English   中英

反應 - 為什么 state 在安裝時沒有設置,以后也不會改變

[英]React - why state doesn't set upon mounting, and doesn't change later

這是鏈接: https://codesandbox.io/s/heuristic-heisenberg-9cxb9?file=/src/components/card-detail/card-detail.jsx

掛載 CardDetail 組件時(當用戶單擊 CardList 中的某個 Card 時),state 屬性loadedData 會以當前日期時間加載,但它不會在掛載 CardDetail 時顯示在應該的位置: <p>-{this.state.loadedData}-</p>

它不會更新,因為您告訴它不要更新。

componentDidMount發生第一次渲染之后。 因此調用setState將導致重新渲染,但在您的componentShouldUpdate中,您僅在更改m屬性時才限制重新渲染。

您可以在檢查中包含&& nextState === this.state ,或者您可以使用componentWillMount而不是在首次渲染之前發生的componentDidMount


所以需要明確的是,state更新,但您不允許它重新渲染以顯示它。

暫無
暫無

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

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