redux

作者: 芗芗_ | 来源:发表于2019-01-23 12:13 被阅读0次

https://github.com/react-guide/redux-tutorial-cn/blob/master/00_introduction.js
当我们要构建网站的时候我们一般会这么去考虑(mvc):

  • 模板/HTML = View
  • 填充视图的数据 = Model
  • 获取数据、将所有视图组装在一起、响应用户事件、 数据操作等等的逻辑 = Controller

这是我们熟知的非常典型的 MVC,但它和 flux 的概念其实是很像的

  • Model 看起来像 Store
  • 用户事件、数据操作以及它们的处理程序看起来像 "action creators" -> action -> dispatcher -> callback
  • View 看起来像 React view (或者其它类似的概念)

mvc中 每一个controller都可以去修改model,model也可以去修改model这样造成了 一个数据的修改数据来源不确定 定位bug的时候层级很多 无从下手

flux:
ActionCreator -> Action -> dispatcher -> reducer

redux---->绑定到react
通过 store.subscribe() 去订阅state的变化 并响应到视图上

redux

redux提供的的接口

import { applyMiddleware, createStore } from 'redux';

applyMiddleware接受一个中间件,中间件就是一个函数,对store.dispatch方法进行了改造,在发出 Action 和执行 Reducer 这两步之间,添加了其他功能

let next = store.dispatch;
store.dispatch = function dispatchAndLog(action) {
  console.log('dispatching', action);
  next(action);
  console.log('next state', store.getState());
}

相关文章

网友评论

      本文标题:redux

      本文链接:https://www.haomeiwen.com/subject/rctljqtx.html