Redux与React的关系详解

Redux和React并没有半毛钱关系,但是两者又恰好能够很好的结合在一起
为啥?
React-关注View层的组件化
Redux-关注DataModel的处理
所以没关系。
Redux产生原因:
前端页面会处理很多很多的data,每一条data可能引起其他data的变化,而每一次数据更新将会更新View,那么就会产生及其混乱的状态,所以Redux产生了。
Redux的原理:
既然是为了整治混乱的状态,那么怎么整治混乱呢?中央集权啊(不得不感叹五千年文明的底蕴了。。。。),对!Redux就是中央集权,所有的数据处理和view更新都由我来做了!
对待Redux正确的方式就是把它当成一个黑盒子:
状态(数据)输入===》黑盒子===》新状态(新数据)输出
是不是和学习的函数很像,new=f(old),就是这样了!
三个重要的原则
只有一个store、state只能由action去改变 、自己去编写dispatcher
拿官网简单的例子说明:

import { createStore } from 'redux'
//相当于设置了不同的操作对应的状态是什么样子的
function todos(state = [], action) {
  switch (action.type) {
    case 'ADD_TODO':
      return state.concat([ action.text ])
    default:
      return state
  }
}
//相当于store中存储了两个状态,可以这么认为,有几个switch/case就有几个state,类似于从todos中抽取
let store = createStore(todos, [ 'Use Redux' ])
//手动订阅相关更新,数据更新就可以改变view,是不是离React越来越近?暂且不管
store.subscribe(() =>
  console.log(store.getState())
);
//自己去安排什么样的动作和状态
store.dispatch({
  type: 'ADD_TODO',
  text: 'Read the docs'
})
【输出:Use Redux Read the docs】

你可能感兴趣的:(Redux)