Redux总结1:Redux基础

1.Redux 是一个状态容器
Redux 就像是作者自己的介绍,它不会为你提供任何的东西,它不会告诉你如何做路由,它只专注于应用程序状态,是一个 JavasSript 的状态容器,所有的状态的变化都是当前状态和 Action 共同的作用结果。 对于view来说,不用关心数据是怎样变化,只需要在 view 层面等待 store 通知自己数据发生变化,然后把数据渲染成页面即可。

2.Redux 和 React 之间没有关系
Redux 和 React 之间没有关系。Redux 支持 React、Angular、Ember、jQuery 甚至纯 JavaScript。 尽管如此,Redux 还是和 React 和 Deku 这类框架搭配起来用最好,因为这类框架允许你以 state 函数的形式来描述界面,Redux 通过 action 的形式来发起 state 变化。

3.Redux中的action、reducer、store三者之间的概念
应用中所有的 state 都以一个对象树的形式储存在一个单一的 store 中 。
惟一 改变 state 的办法是触发 action ,一个描述发生什么的对象。
为了 描述 action 如何改变 state 树,你需要编写 reducers 。

4.最后的概念总结
1.store 由 Redux 的 createStore(reducer) 生成
2.state 通过 store.getState() 获取,本质上一般是一个存储着整个应用状态的对象
3.action 本质上是一个包含 type 属性的普通对象,由 Action Creator (函数) 产生
4.改变 state 必须 dispatch 一个 action
5.reducer 本质上是根据 action.type 来更新 state 并返回 nextState 的函数
6.reducer 必须返回值,否则 nextState 即为 undefined,
实际上,state 就是所有 reducer 返回值的汇总(本教程只有一个 reducer,主要是应用场景比较简单)

示意图

用户产生:
Redux总结1:Redux基础
action–>store.dispatch(action)–>reducer(state,action)–>store.getState();
个人理解为:创建保存有各种状态state的对象–>触发状态state的改变–>reducer负责更新并返回一个新的state–>获取新的整个state