在redux-react中,哪些状态属性是本地的,哪些状态属性需要连接到存储?

时间:2018-03-07 17:58:09

标签: reactjs redux react-redux redux-store

我是redux-react的新手。我想知道需要在组件内声明哪些属性以及需要在reducers中声明哪些属性。希望我是正确的,connect用于映射reducers中声明的属性,以便通过store重定向状态更改。

2 个答案:

答案 0 :(得分:1)

有时在不使用redux的情况下在组件中使用本地状态是完全可以的。 当前的最佳实践是使用本地状态来处理用户界面(UI)状态而不是数据。 例如,使用受控组件填写表单是对本地状态的完全有效使用。

如果您使用的值仅与当前组件相关,并且未被其他组件使用或由其他组件共享且未被其他导航/流程使用,则可以在本地保存您的状态。

答案 1 :(得分:0)

好吧,如果您在应用程序中使用redux,我建议将所有内容保存在redux store中。 redux存储的所有组件的整个状态。 (我认为)

现在,您的组件将主要是无状态组件。

但是很少有东西不需要保存在商店里(这也是你的意思),如果你有手风琴,手风琴的状态不需要保存到商店。它可以留在州。

如果您的应用程序中有以下组件,

  • Todo list - 内部包含Todo项目的组件
  • Todo组件 - 包含删除按钮,编辑按钮,更多详细信息图标
  • Moredetails组件 - 再次包含编辑,删除按钮。

现在,如果您使用的是Moredetails组件并且您没有使用任何redux商店,请单击编辑,您必须将状态提升到Todo列表。 (这将是对您的更改的回调) 如果您使用的是redux store,因为您拥有单个商店中的所有数据,您只需调度一个操作即可更新Todo列表(使用更新克隆列表)。

由于状态是在组件之间共享的,因此使用redux可以简化生活。

然而,如上所述,有些情况下不需要将状态存储在redux存储中。

您甚至可以查看信息非常好的this link