前言
為什么要使用 Redux?
組件化的開發(fā)思想解放了繁瑣低效的 DOM 操作,以 React 來說,一切皆為狀態(tài),通過狀態(tài)可以控制視圖的變化,然后隨著應(yīng)用項目的規(guī)模的不斷擴(kuò)大和應(yīng)用功能的不斷豐富,過多的狀態(tài)變得難以控制,以至于當(dāng)不同的組件中觸發(fā)了同一個狀態(tài)的修改或者引發(fā)了視圖的更新,我們可能搞不清楚到底發(fā)生了什么,state 的變化已經(jīng)變得有些難以預(yù)測和不受控制,因此 Redux 應(yīng)運(yùn)而生,通過對 Flux 思想的實踐和增強(qiáng),對狀態(tài)更新發(fā)生的時間和方式進(jìn)行限制,Redux 試圖讓 state 的變化變得可預(yù)測。
項目簡介
在學(xué)了一段時間 Redux 之后,開始嘗試對之前做過的 Todolist 單頁應(yīng)用進(jìn)行重構(gòu),需要說明的是,因為應(yīng)用本身非常迷你,所以可能無法明顯地體現(xiàn)使用 Redux 的優(yōu)勢,但是基本上能夠比較清晰得說明 Redux 的工作流程,相信各位在閱讀了下面對項目實用 Redux 重構(gòu)過程的分析后,會有很大的收獲和體會。
技術(shù)棧: Node.js React Redux Webpack MongoDB
項目源代碼的 Github 地址:https://github.com/wx1993/Node-Redux-MongoDB-TodoList