数据流向 flux?redux?baobab?

flux

数据流向 flux?redux?baobab?_第1张图片
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然后把操作的参数传给他)
  • 适用于大型应用
  • 解耦合,把实现细节隐藏起来,每一块只关心自己的东西
  • 比较大和重,实用性不强

单向数据流

数据流向 flux?redux?baobab?_第2张图片
单向数据流

Redux

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

数据流向 flux?redux?baobab?_第3张图片
Redux

react-redux

数据流向 flux?redux?baobab?_第4张图片
react-redux

组件

. Reducer 会作用于container
.

数据流向 flux?redux?baobab?_第5张图片
compoment

你可能感兴趣的:(数据流向 flux?redux?baobab?)