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

时间:2016-01-19 22:29:05

标签: reactjs redux

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

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

我的问题是这些组件是否有自己的状态?或者我应该将这些组件的状态移动到Redux提出的主要状态吗?

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

1 个答案:

答案 0 :(得分:2)

在Redux应用程序中使用组件状态没有任何问题。只要:

  1. 组件层次结构的其他部分无需了解这些状态变量
  2. 它不是重复Redux状态
  3. 一个很好的例子就是琐碎的UI内容,比如显示/隐藏功能。*我不熟悉React Dropzone,但它似乎适合这个类别。

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