Redux 与普通 React

Redux vs plain React

我一直在阅读一些 redux 教程,老实说,直到现在我还没有看到它比普通的 react 带来了什么附加值。

据我所知,我可以仅使用 React 构建应用程序并管理其状态,那么,是什么让 redux 值得使用?

好吧,我确实认识到 redux 相对于 react 有一些优势,即:

但也许由于我缺乏构建大型应用程序的经验,我不相信它会让我的生活更轻松。

您能否详细说明使用 redux 相对于普通 react 的优势?

对我来说,最大的优势是 reduxreact 组件中可能有许多较小的状态相比只有一个状态树。与 redux' 减速器一起,状态变得非常确定并且更容易推理。

我没想到,有几个优点:

  • 很多时候您应用的状态树可能与 UI 树
  • 有很大不同
  • 许多组件可能需要访问相同的状态并以不同的方式显示它
  • 热重新加载组件会清除现有的组件树,包括存储在其中的任何状态。保持状态与 UI 树分开允许 UI 树被换出并重新加载更新的组件,同时保持当前的开发状态相同。

这还没有获得许多经常讨论的好处,例如可预测的状态更新、时间旅行调试、改进的可测试性和集中式逻辑。

确实可以只使用 React 的组件状态来编写整个应用程序(Dan Abramov 自己说人们经常过早地跳入 Redux),但从我的角度来看,Redux 绝对值得。

编辑

我在 Full Stack React 网站上写了一个扩展版本的答案作为文章:Redux and Why It's Good For You