- 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
中的状态添加到 React component
的 props
中。
- Redux 借用了很多函数式编程的思想,了解函数式编程会利于理解其实现原理,虽然使用它不需要了解很多函数式编程的概念。和 Flux 相比,Redux 的概念更精简、约定更严格、状态更确定、而是扩展却更灵活。
posted @
2017-07-02 21:13
YiRan2011
阅读(
72)
评论()
编辑
收藏
举报