前言:自己的一些总结:
一、Redux应用场景
1、随着 JavaScript 单页应用开发日趋复杂,管理不断变化的 state 非常困难
2、Redux的出现就是为了解决state里的数据问题
3、在React中,数据在组件中是单向流动的
4、数据从一个方向父组件流向子组件(通过props),由于这个特征,两个非父子关系的组件(或者称作兄弟组件)之间的通信就比较麻烦
二、Redux设计思想
1、Redux是将整个应用状态存储到到一个地方,称为store
2、里面保存一棵状态树state tree
3、组件可以派发dispatch行为action给store,而不是直接通知其它组件
4、其它组件可以通过订阅store中的状态(state)来刷新自己的视图
三、Redux三大原则
1、整个应用的 state 被储存在一棵 object tree 中,并且这个 object tree 只存在于唯一一个 store 中
2、State 是只读的,惟一改变 state 的方法就是触发 action,action 是一个用于描述已发生事件的普通对象 使用纯函数来执行修改,为了描述action如何改变state tree ,你需要编写 reducers
3、单一数据源的设计让React的组件之间的通信更加方便,同时也便于状态的统一管理
四、原生计数器
create-react-app zhufeng_redux_prepare
cd zhufeng_redux_prepare
cnpm install redux -S
yarn start
1、public\index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-wi