【问题标题】:Are middleware and enhancers necessary in redux necessary?redux 中是否需要中间件和增强器?
【发布时间】:2021-01-15 16:36:31
【问题描述】:

我正在尝试自学 redux,我花了很多时间学习过时的文档。 RIP。所以现在我正在向https://react-redux.js.org/introduction/quick-start学习。

在配置我的商店以开始本教程时,我遇到了中间件和增强器。有人可以用简单的术语向我准确解释这些功能的作用以及是否/何时有必要!

我比你们知道的更欣赏任何见解!谢谢你。此外,如果您有一个很好的教程可以遵循,那也将不胜感激!短期内我正在尝试获取用户输入并将其发送到单独的页面上显示。

【问题讨论】:

  • 如果有人也能解释为什么这个问题被否决了,那就太好了!

标签: reactjs react-native redux react-redux


【解决方案1】:

这些文档是针对 React-Redux 库的,具体来说,它是 UI 绑定层,让 React 组件与 Redux 存储进行对话。 “中间件”和“增强器”是 Redux 核心特定的概念,因此您不会在那里找到任何信息。

要真正学习 Redux,请通读 Redux 文档中新改写的官方教程,这些教程专门用于教您 Redux 的工作原理并展示我们推荐的做法:

  • "Redux Essentials" tutorial:通过使用 Redux Toolkit 构建真实世界的应用程序,教授“如何以正确的方式使用 Redux”
  • "Redux Fundamentals" tutorial:通过展示如何手工编写 Redux 代码以及为什么存在标准使用模式以及 Redux Toolkit 如何简化这些模式,教授“Redux 的工作原理,自下而上”

对于这个问题,"Store" page in the "Fundamentals" tutorial 涵盖了“增强器”和“中间件”是什么:

存储增强器就像createStore 的一个特殊版本,它在原始 Redux 存储周围添加了另一层。然后,增强的商店可以通过提供其自己版本的商店调度、getState 和订阅函数而不是原始版本来改变商店的行为方式。

和:

增强器非常强大,因为它们可以覆盖或替换商店的任何方法:dispatchgetStatesubscribe

但是,很多时候,我们只需要自定义 dispatch 的行为方式。如果有一种方法可以在调度运行时添加一些自定义行为,那就太好了。

Redux 使用一种称为中间件的特殊插件来让我们自定义dispatch 函数。

【讨论】:

  • 谢谢!这提供了如此多的清晰度。对此,我真的非常感激。为了在 react 中使用 redux,我应该遵循常规的 redux 教程,以便真正了解我在做什么......对吗?
  • 是的。 Redux 核心文档假设您同时使用 Redux 和 React,“基本知识”和“基础”教程实际上都在教授如何将 React-Redux 与 Redux 核心一起使用。 (坦率地说,我们需要完全重做 React-Redux 教程页面以符合我们当前的建议。)
  • 嘿。需要明确的是,我维护 Redux,并且在 2020 年的大部分时间里我都在编写这两个新的 Redux 核心文档教程 :) 我也有 a huge list of other Redux docs updates that need to be done。我基本上自己在做这个文档工作,所以我只能走这么快:) 很想有人帮助我!
  • 哇。我希望你能意识到这对像我这样的人有多么重要。如果没有简单的文档,我敢打赌大多数人会放弃并寻找另一种解决方案或立即停止!也许今年的某个时候,我会有足够的信心环顾四周并尝试为您提供帮助:)
  • 哈,不客气 :) 是的,这正是我投入所有时间和精力来更新我们的文档的原因——因为我知道开始学习 Redux 并不容易,并且我希望 Redux 文档既是学习 Redux 的最佳资源,又对初学者友好。 FWIW,实际上我是通过为 Redux 文档做贡献而开始接触 OSS 的。我总是很高兴有人做出贡献,我可以与任何想要做出贡献但需要一些指导的人一起工作。
猜你喜欢
  • 2017-11-25
  • 1970-01-01
  • 2018-07-31
  • 1970-01-01
  • 1970-01-01
  • 2022-08-15
  • 2018-02-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多