【问题标题】:Why would I never need to use subscribe in Redux?为什么我永远不需要在 Redux 中使用 subscribe?
【发布时间】:2016-05-08 18:01:12
【问题描述】:

如果在 React 中,我可以使用 connect 来映射状态并分派到道具,并且我使用 connect 的组件将在 Redux 状态(以及道具)更改时自动渲染,我为什么要需要使用subscribe吗?

【问题讨论】:

  • 你要订阅什么?通知组件状态变化的是 redux。

标签: reactjs redux


【解决方案1】:

您说的是 Redux Redux-React(它提供了 connect 函数,专门用于 React 组件)。 Take a look at how Redux-React is implemented.

connect 只是对 subscribe 的 React 特定抽象。

如果你不使用 React 会发生什么?完全可以将 Redux 与其他框架,甚至只是简单的 Javascript 应用程序一起使用。在这些情况下,需要有一个较低级别的机制来订阅状态变化。

他们还更新了他们的文档来讨论这个关于subscribe

它是一个低级 API。最有可能的是,您将使用 React(或其他)绑定,而不是直接使用它。如果您通常将回调用作对状态更改做出反应的钩子,则可能需要编写自定义的 observeStore 实用程序。 Store 也是一个 Observable,因此您可以使用 RxJS 等库订阅更改。

【讨论】:

  • 完全有道理。如果我使用 React-Redux 和 connect,我认为 subscribe 并不是真正需要的。谢谢!
  • 是的,看起来他们更新了他们的文档来说明这一点,请参阅subscribe。我也会更新答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-24
  • 2014-09-03
  • 2020-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多