Redux vs plain React

时间:2016-08-31 23:58:15

标签: reactjs redux react-redux

我一直在阅读一些redux教程,说实话,直到现在我还没有看到它带来的明显反应。

据我所知,我可以构建一个应用程序并仅使用反应来管理其状态,那么,什么使得redux值得使用呢?

好吧,我确实认识到redux比反应有一些优势,即:

  • 跟踪所有已执行的行动;
  • 由于前一点而使调试更容易;
  • 防止状态在组件之间向下传递。

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

您能否详细说明使用redux而不是普通反应的优势?

2 个答案:

答案 0 :(得分:28)

脱离我的头脑,有一些好处:

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

这是在获得许多常见的好处之前,例如可预测的状态更新,时间旅行调试,改进的可测试性和集中逻辑。

你可以使用React的组件状态编写一个完整的应用程序(Dan Abramov本人说人们经常过早地跳进Redux),但从我的角度来看Redux绝对是值得的。

修改

我已经在Full Stack React网站上写了一篇关于这个答案的扩展版本:Redux and Why It's Good For You

答案 1 :(得分:9)

对我而言,最大的优势是redux只有一个状态树,而react只有很多较小的状态。与redux'一起使用减速器,状态变得非常确定,并且更容易推理。