首先,并不是所有的 React 应用程序都需要使用 Redux 。事实上,大多数非常简单的 React 应用程序根本不能从 Redux 中受益。
第 1 天
使用 React 本地组件状态
React 使用单向数据流,这意味着父组件把自身的状态作为属性传递给子组件。
第 5 天
随着添加更多的功能,非父子组件之间需要共享一些状态。
我们通过提升状态来解决这个问题。
这意味着我们将状态(和改变这个状态的函数)提升到最接近的祖先(Container Component)。我们将这些函数绑定到容器组件,并将它们作为属性向下传递。这意味着子组件可以触发其父组件中的状态更改,这将更新树中的所有其他组件。
第 20 天
随着添加了更多的功能和组件,我们的应用程序状态流程开始看起来像这样...
第 n 天
如果您开始遇到上述某些问题,则可能意味着您应该使用 Redux 了。
Redux
当我们使用 Redux 后,状态变成了这样:
如果您的应用符合以下某些条件,那么我认为应该立即使用 Redux。
- UI 可以根据应用程序状态显着变化
- 并不总是以一种线性的,单向的方式流动
- 许多不相关的组件以相同的方式更新状态
- 状态树并不简单
- 状态以许多不同的方式更新
- 您需要能够撤消以前的用户操作