Javascript 使用React redux时,何时向redux存储添加内容,而不是组件特定的存储

Javascript 使用React redux时,何时向redux存储添加内容,而不是组件特定的存储,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我目前正在将一个没有Redux的React项目更新为一个有Redux的项目。正如您所期望的那样,每个组件都有自己的状态,并通过道具传递。在实现Redux的过程中,我能够摆脱所有将道具传递给子组件的过程。然而,我有点困惑,我应该如何处理只针对该组件的组件状态项。我认为我应该让它们保持原样,而不是将它们添加到Redux中 例如,我认为应该保留的两个组件特定状态属性如下: constructor(props) { super(props); this.state = {

我目前正在将一个没有Redux的React项目更新为一个有Redux的项目。正如您所期望的那样,每个组件都有自己的状态,并通过道具传递。在实现Redux的过程中,我能够摆脱所有将道具传递给子组件的过程。然而,我有点困惑,我应该如何处理只针对该组件的组件状态项。我认为我应该让它们保持原样,而不是将它们添加到Redux中

例如,我认为应该保留的两个组件特定状态属性如下:

constructor(props) {
    super(props);
    this.state = {
        message: null,
        redirect: null
    };
这些属性仅用于指定在提交表单时将用户重定向到何处或显示什么消息


如果有人能帮助我理解什么时候应该向Redux应用商店添加一些东西,而不是仅仅将其作为组件应用商店的一部分,那就太好了。我还想确保,如果我愿意,在某些场景中,我仍然可以正常使用道具。看起来所有React Redux都会将所有内容映射到道具,因此它只会在原始道具中添加内容。

我认为如果您不知道是否需要使用Redux,那么您就不需要Redux

我们使用了很多redux,并在其上做了一个“”标记,但我们现在依赖Dan Abramov的帖子:


你不必“reduxify”,你的应用程序redux只是在几个组件之间共享全局状态,但本地状态是可以的。最后,React添加了和,可以解决redux用更“本地”的方法解决的相同问题。

使用本地状态很好。通常,React中最难的问题之一是将状态放在何处。作为开发人员,您应该决定是否在本地使用state。 在以下情况下,您需要使用redux:

  • 这些数据将用于应用程序的不同部分
  • 您需要缓存此数据(例如,为了能够将其从状态还原,而不执行另一个网络请求)
  • 您希望在热重新加载UI组件时保持此数据的一致性
  • 你需要时间旅行