组件具有独立于 Redux 的 sigle 状态树的自己的状态是否是一种好的做法?



我正在将应用程序从 Flux 重构到 Redux。正如 Redux 所说,它有一个用于整个应用程序状态的状态树。在此重构之前,大多数组件仅使用 props 和容器组件上使用状态,但我应用程序中的某些关键组件具有自己的可视化状态,独立于 Redux 的单一状态树。

其中一个组件是React-Dropzone-Component,它有自己的状态(如果你查看它的代码),但我还有其他非第三方的组件,作为React-Dropzone-Component,它们有自己的状态(出于视觉目的如前所述)。

我的问题是这些组件有自己的状态是否可以?或者我应该将这些组件的状态移动到 Redux 建议的主状态?

如果我必须将这些组件状态移动到 Redux 的状态,我不是强制这些组件仅在单个状态树环境中工作吗?

在 Redux 应用程序中拥有组件状态并没有错。只要:

  1. 组件层次结构的其他部分不需要知道这些状态变量
  2. 它不是复制 Redux 状态

一个很好的例子是琐碎的UI内容,例如显示/隐藏功能。 我不熟悉React Dropzone,但它似乎适合这一类。

(*但这并不是说所有 UI 逻辑都属于本地状态;有时它需要在存储中。

相关内容

最新更新