【发布时间】:2018-09-03 21:43:57
【问题描述】:
我有一个具有某些本地状态的组件(表单验证错误消息)。该组件不会从父级获取其状态,也不会将这些值传递给它的任何子级。
我的应用程序使用 Redux 进行全局状态管理。我应该将此状态推送到通过 Redux 进行管理,还是继续为这个特定组件使用本地状态。
【问题讨论】:
-
@Claies NO 标题。
我有一个具有某些本地状态的组件(表单验证错误消息)。该组件不会从父级获取其状态,也不会将这些值传递给它的任何子级。
我的应用程序使用 Redux 进行全局状态管理。我应该将此状态推送到通过 Redux 进行管理,还是继续为这个特定组件使用本地状态。
【问题讨论】:
简单的答案是否。 - 仅仅是因为您已经在实际使用它的唯一相关组件中拥有了所有必要的数据。
Redux (react-redux) 用于app level state 管理。
所以,更长的答案来了 - 如果您在某个时候决定需要各种组件中的数据,并且他们需要/应该随时可以访问,Redux 绝对是一个不错的选择。
这完全取决于数据量以及在整个应用程序中有效传递数据的需求。
另一方面,如果你只需要在 Parent - Children 组件之间传递数据,那么 Redux 可能会有点过头了,因为你仍然可以只使用 React 通过在组件之间传递(交换)值来实现它各种组件通过props。
因此,如果您只需要该组件内的数据 (Component level state),那么 Redux 是不行的,因为它非常大,对您的情况没有任何用处.
【讨论】:
听起来数据只需要这个组件,所以你不需要将它推送到 Redux 状态。
【讨论】:
是的,如果您采用不可变状态和连接组件的方式,您将避免不必要的重新渲染。
在这种情况下,您可以将您的字段连接到它的状态,并仅在发生错误时重新呈现错误消息。
【讨论】:
我不会将它保存到 Redux 状态。 除非您在其他地方需要这些数据。
【讨论】: