Javascript redux、react redux和redux thunk之间有什么区别?

Javascript redux、react redux和redux thunk之间有什么区别?,javascript,reactjs,redux,reactjs-flux,react-redux,Javascript,Reactjs,Redux,Reactjs Flux,React Redux,我使用的是React+Flux。我们的团队计划从flux迁移到redux。对于来自flux世界的我来说,Redux非常令人困惑。在中,流量控制流程非常简单,可以从组件->操作->存储和存储更新回组件。它简单明了 但在redux中,它令人困惑。这里没有商店,是的,有一些例子没有使用商店。我看了几个教程,似乎每个人都有自己的实现风格。有些使用容器,有些不使用。(我不知道这个容器概念,也无法理解MapStateTrops、mapDispatchToProps的功能) 有人能清楚地解释在redux中控制

我使用的是React+Flux。我们的团队计划从flux迁移到redux。对于来自flux世界的我来说,Redux非常令人困惑。在中,流量控制流程非常简单,可以从组件->操作->存储和存储更新回组件。它简单明了

但在redux中,它令人困惑。这里没有商店,是的,有一些例子没有使用商店。我看了几个教程,似乎每个人都有自己的实现风格。有些使用容器,有些不使用。(我不知道这个容器概念,也无法理解MapStateTrops、mapDispatchToProps的功能)

  • 有人能清楚地解释在redux中控制流是如何发生的吗
  • redux中组件/容器/动作/动作创建者/存储的角色是什么
  • redux/react redux/redux thunk/任何其他之间的差异
  • 如果您可以发布指向任何简单而精确的redux教程的链接,这将非常有用
  • 有人能清楚地解释在redux中控制流是如何发生的吗
  • Redux(始终)只有一家店铺

  • 每当您要替换存储中的状态时,都会发送一个操作

  • 动作被一个或多个减速器捕捉

  • reducer/s将创建一个新状态,该状态将旧状态和已调度的操作组合在一起

  • 商店订阅者会被通知有一个新状态

  • redux中组件/容器/动作/动作创建者/存储的角色是什么
    • Store—保存状态,当新操作到达时,运行dispatch->middleware->reducers管道,并在状态被新操作替换时通知订阅者

    • 组件-不直接知道状态的哑视图零件。也称为表象成分

    • 容器—使用react-redux了解状态的视图片段。也称为智能组件和高阶组件


    请注意,容器/智能组件与哑组件只是构建应用程序的一种好方法


    • 动作-与通量相同-命令模式具有类型和有效载荷

    • 动作创造者-创建动作的干燥方式(并非严格必要)

  • redux/react-redux/redux-thunk/其他之间的区别
    • -具有单个存储的通量状流,可用于任何您喜欢的环境,包括香草js、react、角度1/2等

    • -redux和react之间的绑定。该库提供了一组-
      useSelector()
      ,和
      useStore()
      来从存储中获取数据,以及
      useDispatch()
      来调度操作。您还可以使用该函数创建HOC(高阶组件),以侦听存储的状态更改,准备包装组件的道具,并在状态更改时重新渲染包装组件

    • -中间件,允许您编写返回函数而不是操作的操作创建者。thunk可用于延迟动作的调度,或仅在满足特定条件时才进行调度。主要用于对api的异步调用,该调用在成功/失败时调度另一个操作

  • 如果你能将链接发布到任何简单而简单的 精确的redux教程

    回答您的标题问题:

    redux、react redux和redux thunk之间有什么区别

  • redux:主库(独立于React)
  • redux thunk:一个redux中间件 帮助您执行异步操作
  • react-redux:将redux商店与react组件连接起来
    • redux:用于管理应用程序状态的库
    • react-redux:用于管理react应用程序(redux)状态的库
    • redux thunk:用于日志记录、崩溃报告、与异步API对话、路由等的中间件

    下图演示了redux中的数据流: Redux的优势如下所示:

    结果的可预测性–因为事实总是有一个来源,即存储,所以对于如何将当前状态与操作和应用程序的其他部分同步没有任何混淆。 可维护性–代码变得更易于维护,具有可预测的结果和严格的结构。 服务器端渲染–只需将在服务器上创建的存储传递到客户端。这对于初始渲染非常有用,并在优化应用程序性能时提供更好的用户体验。 开发人员工具–从操作到状态更改,开发人员可以实时跟踪应用程序中发生的一切。 社区和生态系统–Redux背后有一个巨大的社区,这使得它的使用更加吸引人。一个由才华横溢的个人组成的大型社区为图书馆的改善做出了贡献,并利用它开发了各种应用程序。 易于测试–Redux的代码主要是小、纯和隔离的函数。这使得代码具有可测试性和独立性。 [Organization][2]-Redux精确地描述了代码应该如何组织,这使得团队使用它时代码更加一致和容易。

    看看,这将让您对您提到的所有要点有很多见解。Reducer+Flux=Redux