1。安裝:npm install redux
2.Action創(chuàng)建函數(shù)
Action 創(chuàng)建函數(shù)就是生成 action 的方法?!癮ction” 和 “action 創(chuàng)建函數(shù)” 這兩個概念很容易混在一起,使用時最好注意區(qū)分。
Redux中action創(chuàng)建函數(shù)只是簡單返回一個action。
Action 本質(zhì)上是JavaScript 普通對象。我們規(guī)定,action 內(nèi)必須使用一個字符串類型的 type 字段來表示將要執(zhí)行的動作。多數(shù)情況下,type 會被定義成字符串常量。當(dāng)應(yīng)用規(guī)模越來越大時,建議使用單獨(dú)的模塊或文件來存放 action。
除了 type 字段外,action 對象的結(jié)構(gòu)完全由自己決定。
3.設(shè)計State結(jié)構(gòu)
在 Redux 應(yīng)用中,所有的 state 都被保存在一個單一對象中。在寫代碼之前我們首先要想清楚這個對象的結(jié)構(gòu),要用最簡單的形式把應(yīng)用中的state用對象描述出來。
4.Action處理
確定了 state 對象的結(jié)構(gòu),就可以開始開發(fā) reducer。reducer 就是一個純函數(shù),接收舊的 state 和 action,返回新的 state。
5.Store
Store則是把a(bǔ)ction和reducers聯(lián)系到一起的對象,它有以下職責(zé):
維持應(yīng)用的 state;
提供 getState() 方法獲取 state;
提供 dispatch(action) 方法更新 state;
通過 subscribe(listener) 注冊監(jiān)聽器;
通過 subscribe(listener) 返回的函數(shù)注銷監(jiān)聽器。