資料狀態管理
資料狀態管理
使用情境
Context API
- 只考慮偏靜態數據的跨組件層級傳遞和共享,不考慮狀態更新
Context API + useReducer
- 小中型的狀態管理場景,意味著狀態規模不大,更新狀態的邏輯代碼不復雜
- 對代碼的可調試性沒有很高的要求
- 對渲染性能沒有很高的要求
redux + react-redux
- 中大型的狀態管理場景,意味著狀態規模很大,更新狀態的邏輯代碼比較複雜,存在多人協作
- 代碼的可調式性有比較高的要求。需要快速地知道四個“什麼”問題(狀態在“什麼時候”,“在什麼地方”,“為什麼”,“發生了什麼樣的”變化)的答案。
- 需要用到副作用機制增加代碼的可讀性
- 需要用到中間件來增加應用的可擴展性
- 需要對用戶操作軌跡進行日誌記錄
- 考慮使用一個redux store 對接到不同的 UI 層(比如同時對接到react和vue)
- 在渲染性能上有更高的追求
參考資料
教學影片