Redux与React的关系详解

xiaoxiao2021-02-28  76

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】
转载请注明原文地址: https://www.6miu.com/read-76207.html

最新回复(0)