我正在使用React Flux。我们的团队正计划从流动转向还原。Redux对我来说是非常混乱的,我来自流动的世界。在流量控制流程是简单的从组件-
但在还原其混乱。这里没有商店,是的,有一些例子没有使用商店。我看了几个教程,似乎每个人都有自己的实现风格。有些正在使用容器,有些则没有。(我不知道这个容器的概念,也不能理解mapStateToProps,mapDispatchToProps是做什么的)。
Redux(总是)只有一个商店。
>
每当您要替换存储中的状态时,都会发送一个操作。
该动作被一个或多个减速器捕捉。
reducer/s将创建一个新状态,该状态将旧状态和已调度的操作组合在一起。
商店订阅者会被通知有一个新状态。
>
存储-保存状态,当新操作到达时运行调度-
组件-不直接知道状态的哑视图部分。也称为表示组件。
容器—使用react-redux了解状态的视图片段。也称为智能组件和高阶组件
请注意,容器/智能组件与哑组件只是构建应用程序的一种好方法。
>
动作创建者-创建动作的干式方式(不完全必要)
>
react redux-redux和react之间的绑定。该库提供了一组react钩子-useSelector()
,和useStore()
从存储中获取数据,以及useDispatch()
调度操作。您还可以使用connect()
函数来创建HOC(高阶组件),它可以侦听存储的状态更改,为包装的组件准备道具,并在状态更改时重新渲染包装的组件。
redux thunk-中间件,允许您编写返回函数而不是操作的操作创建者。thunk可用于延迟动作的调度,或仅在满足特定条件时才进行调度。主要用于对api的异步调用,该调用在成功/失败时调度另一个操作。
>
Redux官方文件
Redux入门
使用惯用Redux构建React应用程序
表示和容器组件
要回答您的标题问题:
redux、react redux和redux thunk之间有什么区别?