跳至主要内容

1 篇文件帶有標籤「state」

檢視所有標籤

React is Immutable

這篇文章介紹了 mutation、immutable 的概念,以及 React 為什麼要用 immutable 的資料結構。簡而言之,React 的 setState 會用 Object.is() (一種類似 === 的**淺層比較**) 來判斷 state 是否有變化,並決定是否要重新渲染。所以,如果只是修改 state 的內容,而沒有改變它的參考位置,React 就不會重新渲染。這意味著,我們不能直接改變 state 來觸發重新渲染,而是要用 setState 給它一個新的值。這就是 React 需要 immutable 的原因,因為我們要用複製和修改的方式來產生一個新的物件或陣列,讓 React 能夠發現 state 的變化。