我正在使用React + Flux。我们的团队计划从助焊剂转变为还原剂。Redux对于来自助焊剂世界的我非常困惑。在 磁通控制中, 从 **组件-
操作->存储和存储更新返回组件 很** 简单。它很简单,也很清楚。
但在redux中令人困惑。这里没有商店,是的,有些例子没有使用商店。我经历了一些教程,看来每个人都有自己的实现风格。有些正在使用容器,有些则没有。(我不知道这个Containers概念,也无法理解mapStateToProps,mapDispatchToProps的作用)。
有人可以清楚地说明redux中的控制流是如何发生的吗?Redux(总是)只有一家商店。
每当您要替换存储中的状态时,就调度一个动作。
该动作被一个或多个减速器捕获。
减速器创建一个新状态,该状态将旧状态与分派的动作结合在一起。
通知商店订户存在新状态。
redux中的组件/容器/动作/动作创建者/商店的作用是什么?
存储-保持状态,并在新动作到达时运行调度->中间件-> reducers管道,并在状态被新状态替换时通知订户。
组件-无法直接知道状态的哑视图部分。也称为演示组件。
容器-使用react-redux知道状态的视图片段。也称为智能组件和高阶组件
请注意,容器/智能组件与哑组件只是构建应用程序的一种好方法。
动作-与通量相同-具有类型和有效负载的命令模式。
动作创建者-创建动作的DRY方法(并非绝对必要)
redux / react-redux / redux-thunk /其他之间的区别?
redux-具有单个存储的流量之类的流量,可以在任何喜欢的环境中使用,包括香草js,react,angular 1/2等。
react-redux -redux和react之间的绑定,它创建容器(智能组件)来侦听商店的状态变化,为这些组件准备道具并重新呈现表示(哑)组件。
redux-thunk-中间件,可让您编写返回函数而不是操作的操作创建者。重击程序可用于延迟操作的分发,或者仅在满足特定条件时调度。主要用于对api的异步调用,该调用在成功/失败时调度另一个操作。
如果您可以发布任何简单而精确的redux教程的链接,这将非常有帮助。
Redux官方文档
Redux入门
使用Idiomatic Redux构建React应用程序
外观和容器组件