React Redux 相關知識點

注意點1: Action 

本質上是 JavaScript 普通對象

 

注意點2: Reducers

指定了應用狀態的變化如何響應 actions 併發送到 store 的,

記住 actions 只是描述了有事情發生了這一事實,並沒有描述應用如何更新 state。

 

注意點3: Store 

就是把它們聯繫到一起的對象。Store 有以下職責:

維持應用的 state;

  1. 提供 getState() 方法獲取 state;
  2. 提供 dispatch(action) 方法更新 state;
  3. 通過 subscribe(listener) 註冊監聽器;
  4. 通過 subscribe(listener) 返回的函數註銷監聽器。
     

注意點4:

異步 action 創建函數

最後,如何把 之前定義 的同步 action 創建函數和網絡請求結合起來呢?標準的做法是使用 Redux Thunk 中間件。要引入 redux-thunk 這個專門的庫才能使用。我們 後面 會介紹 middleware 大體上是如何工作的;目前,你只需要知道一個要點:通過使用指定的 middleware,action 創建函數除了返回 action 對象外還可以返回函數。這時,這個 action 創建函數就成爲了 thunk。

 

注意點5:

當 action 創建函數返回函數時,這個函數會被 Redux Thunk middleware 執行。這個函數並不需要保持純淨;它還可以帶有副作用,包括執行異步 API 請求。這個函數還可以 dispatch action,就像 dispatch 前面定義的同步 action 一樣。

我們仍可以在 actions.js 裏定義這些特殊的 thunk action 創建函數。

 

注意點6:

<Provider store> 使組件層級中的 connect() 方法都能夠獲得 Redux store。

正常情況下,你的根組件應該嵌套在 <Provider> 中才能使用 connect() 方法。

 

注意點7:

從組件的角度看,以下幾種情況可以使用redux:

  1. 某個組件的狀態,需要共享
  2. 某個狀態需要在任何地方都可以拿到
  3. 一個組件需要改變全局狀態
  4. 一個組件需要改變另一個組件的狀態
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章