2017-04-10 71 views
0

我知道mapstatetoprops正在將我們的Redux應用程序狀態映射到我們的React組件道具,但是我不完全理解reducer返回新狀態後面發生了什麼 - 如何觸發重新呈現組件道具映射到應用程序級別的狀態?如何更新reducer中的狀態觸發組件的重新呈現?

在純粹的React中,setState觸發重新渲染是否正確?通過Redux發生了什麼類似(或相同的事情)?

回答

0

ReduxReact-Redux都採用淺層平等檢查。

特別是:

Redux's combineReducers效用淺檢查引起的,它調用減速器參考變化。

React-Redux's connect方法生成組件,淺顯地檢查對根狀態的引用更改,並使用return values from the mapStateToProps函數查看包裝的組件是否實際需要重新呈現。這種淺層檢查需要不變性才能正常工作。

0

那麼當您使用redux「connect」函數創建組件時,整個重點就在於您連接到redux狀態的幕後,並且擁有狀態更改的偵聽器。

因此,您創建了一個簡單的組件,可以從道具獲取其值,但這些道具是通過使用「mapStateToProps」連接從狀態獲取的。

從來沒有潛入到redux-react連接函數中,但是如果你想要,你一定會繼續前進,看看它究竟做了什麼。

但重點是我上面解釋的。

相關問題