0

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

4

2 回答 2

1

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

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

于 2018-03-07T19:11:14.047 回答
0

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

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

但是很少有东西不需要保存在存储中(这取决于你),比如如果你有一个手风琴,手风琴的状态不需要保存到存储中。它只能保持状态。

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

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

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

在这里,由于组件之间共享状态,因此使用 redux 使生活变得简单。

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

你甚至可以查看这个链接,它有很好的信息。

于 2018-03-07T18:05:08.567 回答