總結下Redux
阿新 • • 發佈:2017-07-02
middle 實現原理 對象 reac 函數式 實現 通過 ddl imm
- Redux 和 React 沒有直接關系,它瞄準的目標是應用狀態管理。
- 核心概念是 Map/Reduce 中的 Reduce。且
Reducer
的執行是同步,產生的State
是 Immutable 的。 - 改變
State
只能通過向 Reducer dispatch actions 來完成。 State
的不同字段,可以通過不同的Reducers
來分別維護。combineReducers
負責組合這些Reducers
,前提是每個Reducer
只能維護自己關心的字段。Action
對象只能是 Javascript Plain Object,但是通過在store
上裝載middleware
action
對象的形式,反正會有特定的middleware
負責將此action
對象變為 Javascript Plain Object。可以以middleware
鏈條為集中點實現很多控制邏輯,例如 Log,Undo, ErrorHandler 等。- Redux 僅僅專註於應用狀態的維護,
reducer
、dispatch/middleware
是兩個常用擴展點、Higher-order Store 則僅針對需要擴展全部Store
功能時使用。 - react-redux 是 Redux 針對 React/React-Native 的 Binding,
connect/selector
store
中的狀態添加到 Reactcomponent
的props
中。 - Redux 借用了很多函數式編程的思想,了解函數式編程會利於理解其實現原理,雖然使用它不需要了解很多函數式編程的概念。和 Flux 相比,Redux 的概念更精簡、約定更嚴格、狀態更確定、而是擴展卻更靈活。
總結下Redux