redux解析

action

action:{
  type: String
  ...
}

reduce(state, action)

reduce是一個內部包含著switch的函數,且default總是被設置為返回state,其余選項皆返回被處理后的state,以此完成狀態的更新.


subscribe(listener)

subscribe會把listener回調函數放入一個數組中,等待使用.同時也會返回一個unsubscribe函數,用以將之前放入的回調函數移出數組.


dispatch(action)

dispatch接收一個action,并將其給予當前的reduce,該reduce會返回一個新的state,他會替換掉之前的state.最后函數會返回這個action.


combineReducers(reduces)

該函數接收一個由reduce組成的對象,該對象的每一個屬性皆為reduce.在該函數內部,他會從reduces對象中抽取每個reduce函數的名字并放入reducerKeys數組中.而reduce本身,則會通過循環,被存入finalReducers對象中.

最終該函數會返回一個新的函數作為reduce提供給createStore.

上面所說的這個reduce被執行時,會先被combineReducers中的遍歷函數遍歷finalReducers中的reduce屬性,并執行他們.并將執行他們所獲得的新state存入nextState對象中.


中間件

中間件會替換掉redux原本的createStore的內部代碼,轉而使用中間件處理.(趕工寫的,沒有怎么思考)


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容