图解 redux 和 react 的关系

1,564 阅读1分钟
原文链接: mp.weixin.qq.com

最近研究了下redux项目里的example里面的目录结构,发现里面文件夹比较多,概念也比较多,所以画图整理一下;

以examples中的real-world为例,文件结构长这个样子:


先简单看一下redux和react的数据流:

redux


react


在react中使用redux是用Store将state替换掉,变成下面的情况;


这个变换过程要做的事情是:

  1. 将onChage替换为dispatch(Action);

  2. 将store中的状态引入到Component中用于render;

就是上图中Component的出口和入口两个点,着两个点对接好,数据流就接通了。

看看examples里是怎么做的,它的目录结构里包含了6个文件夹componentsactionsmiddlewarereducersstorecontainers:分别对应上图的五块再加上数据连接:

  • components存储Component的代码

  • actions存储Actions的代码

  • middleware存储redux中间件的代码

  • reducers存储Reducer的代码

  • store存储初始化Store的代码

  • containers最关键,将Component的事件、状态分别连接到Action和Store;

比如containers/UserPage.js的代码:


最后这个connect的函数的两个参数分别将

1. Store中的状态映射到component.props中;
2. 将Action映射到component的事件中;

阿里百川(baichuan.taobao.com)是阿里巴巴集团“云”+“端”的核心战略是阿里巴巴集团无线开放平台,基于世界级的后端服务和成熟的商业组件,通过“技术、商业及大数据”的开放,为移动创业者提供可快速搭建App、商业化APP并提升用户体验的解决方案;同时提供多元化的创业服务-物理空间、孵化运营、创业投资等,为移动创业者提供全面保障。

        关于阿里百川