Redux vs plain React

utx*_*eee 37 reactjs redux react-redux

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

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

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

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

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

你能详细说明使用redux而不是普通反应的优点吗?

mar*_*son 34

脱离我的头脑,有一些优点:

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

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

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

编辑

我已经在Full Stack React网站上写了一篇关于这个答案的扩展版本:Redux和为什么它对你有好处.


Mar*_*cke 9

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

  • 即使没有redux,您也可以拥有由根组件托管的单个状态. (5认同)