1. 程式人生 > >redux在react-native中的運用

redux在react-native中的運用

利用下班回家後的時間、週末的時間學習。因為比較喜歡記筆記,所以整理完自己的筆記,也就懶得寫部落格,今天有時間,一下子寫三篇哈哈哈。。。

看下我自己寫的筆記,字有點醜:


寫一個redux運用的例子:

效果圖


一、先安裝內容:

1、安裝外掛


2、首先先寫好框架

1)第一步,後面會進行更改


2ReduxDemo 的程式碼(完整的出始化程式碼)



3、接下來封裝redux

1)provider.js


2)reduxDemo.js檔案中

先匯入應該匯入的檔案


建立connect ,並匯出模組


3)在index.io.js中,匯入provider.js

的export出來的內容


4)在reduxDemo中的點按方法中,根據type不一樣,執行不同的action


5)編寫action.js檔案


Action.js


6)建立reducer.js檔案


7)在reduxDemo檔案中,接收props


會重新走render方法

在底部資料的發生變化。重新構造資料


完成!!!

Redux的三原則
1. Single source of truth單一資料來源,資料流向也是單一方向。整個應用的state,儲存在唯一一個javascript物件中,同時也只有一個store用於儲存這個物件.
2. State is read-only
狀態是隻讀的。唯一能改變state的方法,就是觸發action操作。action是用來描述正在發生的事件的一個物件。
3. Changes are made with pure functions在改變statetree時,用到action,同時也需要編寫對應的reducers才能完成state改變操作。
Store 有以下職責:
  1. 維持應用的 state;
  1. 提供 getState() 方法獲取 state;
  1. 提供 dispatch(action) 方法更新 state;
  1. 接收新的state,並替換當前的state;
  1. state變化時,store觸發事件;
  1. 通過 subscribe(listener) 註冊監聽器的元件從store提取新的state並更新元件。
Middleware
在redux裡,middleware是傳送action和action到達reducer之間的第三方擴充套件,也就是中間層。也可以這樣說,middleware是架在action和store之間的一座橋樑。如果不使用middleware的話,Redux的store只支援同步資料流。也就是每當我們dispatchaction時,state會被立即更新。同步只返回一個普通action物件。而非同步操作中途會返回一個promise函式。當然在promise函式處理完畢後也會返回一個普通action物件。thunk中介軟體就是判斷如果返回的是函式,則不傳導給reducer,直到檢測到是普通action物件,才交由reducer處理。