- action creator => action => store.dispatch(action) => reducer(preState, action) => newState
-
createStore()
-
dispatch(action)
-
getState()v
-
-
bindActionCreator
-
combineReducers
1.参考
1.函数编程 参考
-
函数编程是以函数作为主要载体的编程方式。优点:语义更加清晰\可复用性更高\可维护性更好\作用域局限,副作用少
-
常见的函数式编程模型包括:闭包、高阶函数、map(映射)、柯里化(currying)、组合(Composing)等
2.纯函数 参考
-
相同输入总是会返回相同的输出。
-
不产生副作用。
-
不依赖于外部状态。
3.compose(实现)
- 将多个函数的能力合并,创造一个新的函数
4.middleware(中间件) 理解中间件
-
中间件就是帮框架实现各种功能的程序
-
中间件为了扩展dispach的功能而存在,代码也是改造并返回新的dispatch,可以在这个dispatch里加入要加入的中间功能,执行next交给下一个中间件。
-
将所有 处理逻辑函数(中间件) 存储在一个list中;
-
请求到达时 循环调用 list中的 处理逻辑函数(中间件);
5.柯里化 参考
-
柯里化又称部分求值,柯里化函数会接受一些参数,然后不会立即求值,而是继续返回一个新函数,将传入的参数通过闭包的形式保存,等到真正求值的时候,再一次性把所有传入的参数进行求值。
-
给定一个函数的部分参数,生成一个接受其他参数的新函数
6.高阶函数 参考
-
高阶函数是指至少满足下列条件之一的函数:
-
函数可以作为参数被传递
-
函数可以作为返回值输出
-
-
应用
-
ajax异步请求
-
判断类型
-