【发布时间】:2016-05-08 18:01:12
【问题描述】:
如果在 React 中,我可以使用 connect 来映射状态并分派到道具,并且我使用 connect 的组件将在 Redux 状态(以及道具)更改时自动渲染,我为什么要需要使用subscribe吗?
【问题讨论】:
-
你要订阅什么?通知组件状态变化的是 redux。
如果在 React 中,我可以使用 connect 来映射状态并分派到道具,并且我使用 connect 的组件将在 Redux 状态(以及道具)更改时自动渲染,我为什么要需要使用subscribe吗?
【问题讨论】:
您说的是 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 等库订阅更改。
【讨论】:
connect,我认为 subscribe 并不是真正需要的。谢谢!