當前位置:編程學習大全網 - 源碼下載 - redux與react-redux

redux與react-redux

redux 與 react-redux 直接壹起使用, 讓我總分不清楚這兩個各自的職責,分別整理壹下。

reudx

對於redux 整個過程如上所示。

1. 用戶在UI組件中通過 store.dispatch觸發action ;

2. store 自動調用reducer,並傳入之前的state,以及1中用戶的action, 經過reducer返回新的state;

3. store.subscribe(listener) 訂閱state的變化,可通過setState更新react UI。

redux 整個設計是: 所有妳“寫”的邏輯都集中在壹個單獨的函數(reducer)中,並且執行這些邏輯的唯壹方式就是傳給 Redux 壹個能夠描述當時情景的普通對象(action)。Redux store 調用這些邏輯函數,並傳入當前的 state tree 以及這些描述對象,返回新的 state tree,接著 Redux store 便開始通知這些訂閱者(subscriber)state tree 已經改變了。

因此要求 reducer 是純函數和可預測,不能突變。

react-redux

react-redux 主要是redux執行的第3步(標紅部分)。

使用mapStateToProps訂閱 Store,每當state更新的時候,就會自動執行,重新計算 UI 組件的參數,從而觸發 UI 組件的重新渲染。 mapStateToProps 是輸入邏輯(將state輸入到react的UI中);

mapDispatchToProps定義了哪些用戶的操作應該當作 Action,傳給 Store。 mapDispatchToProps是輸出邏輯(將用戶的操作變成action,從react的UI中發出)。

容器組件 = connect(mapStateToProps,mapDispatchToProps)(UI 組件);

mapStateToProps 中使用的state ,來自於provider組件中註入的store。其實現是react 的context屬性。

資料:

  • 上一篇:河源鄉村旅遊景點全集河源市鄉村旅遊
  • 下一篇:易語言“十六到字節集”是什麽模塊裏的命令?
  • copyright 2024編程學習大全網