flux

用户的一个操作Uer Interactions
=>
把这个操作和值传给Aciton Creator
=>
根据你的要求来 产生一个Action
(具体的操作)=>
Action会传给Dispatcher
(理解为大脑,MVC中的C,收到后会处理数据,将Action发给所有的store)=>
然后会 调用不同的store,store会先进行更新
(MVC中的M,主要来说就是存储数据和增删改查,并且store会在Dispatcher中注册,在注册的时候同时会告诉Dispatcher一个回调函数也就是CallBack, ) =>
然后 广播出一个event事件
=>
React View 监听到这样一个事情,就会向store发出请求
,我要数据!拿到之后就会setState或者replace来更新状态从而, 触发各个组件的render,页面就得到渲染和展示
- 注意:
- 每一块之间关系并不是1对1,是多对多的关系,分层抽象的思想
- Action其实就是对于所有操作的一个抽象(比如调用Dispatcher然后把操作的参数传给他)
- 适用于大型应用
- 解耦合,把实现细节隐藏起来,每一块只关心自己的东西
- 比较大和重,实用性不强
单向数据流

Redux
UI->Action->Reducer->Store(State)->UI

react-redux

组件
. Reducer 会作用于container
.

网友评论