我何时选择React state Vs Redux Store

Jav*_*ice 29 state store reactjs redux

我一直在学习Redux,而我不清楚的部分是,如何在使用react state vs redux store然后调度动作之间做出决定.从我的阅读到目前为止看起来我可以使用React状态代替Redux商店并仍然完成任务.我理解使用Redux存储的问题分离,只有1个容器组件,其余部分作为无状态组件但是如何确定何时使用React状态Vs redux存储对我来说不是很清楚.有人可以帮忙吗?

谢谢!

Cod*_*Cat 39

如果状态不需要与其他组件共享,或者在卸载组件时不需要保持状态,那么您可以将其置于组件的状态.

你可以认为Redux商店是前端的数据库,如果你有从API获取的产品数据,那么Redux商店就是正确的地方; 如果你有一个下拉组件,它需要一个isOpen道具,那么该下拉列表的父级可以保持dropdownIsOpen为组件状态.

有关更多信息,请参阅Dan的答案:https://github.com/reactjs/redux/issues/1287

你也说过

只有1个容器组件,其余部分为无状态组件

这是不正确的.您可以拥有多个容器组件.容器组件还可以包含另一个容器组件.


zlo*_*ctb 5

摘自书本:

首先,我们应该始终牢记,只应将所需的最少量数据放入状态。例如,如果我们必须在单击按钮时更改标签,我们不应该存储标签的文本,而应该只保存一个布尔标志来告诉我们按钮是否被单击。其次,我们应该只向状态添加我们想要在事件发生时更新的值,以及我们想要使组件重新渲染的值。确定状态是否是存储信息的正确位置的另一种方法是检查组件本身或其子组件是否需要我们保留的数据。如果多个组件需要跟踪相同的信息,我们应该考虑在应用程序级别使用像 Redux 这样的状态管理器。