Redux 与普通 React [关闭]

Posted

技术标签:

【中文标题】Redux 与普通 React [关闭]【英文标题】:Redux vs plain React [closed] 【发布时间】:2017-01-08 16:52:10 【问题描述】:

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

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

嗯,我确实承认 redux 比 react 有一些优势,即:

跟踪执行的所有操作; 由于上一点,调试变得更容易; 防止状态在组件之间向下/向上传递。

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

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

【问题讨论】:

react 和 redux 在应用程序中的用途完全不同。继续阅读。 使用 redux,您的生活可能会变得更轻松。或者相反。只是尝试自己决定是否喜欢它。 最终我觉得这取决于您的项目范围。虽然我不是专家,但您似乎可以轻松创建复杂的应用程序,而无需任何类型的通量实现...... 明显的优势是可维护性。见:redux.js.org/docs/introduction/Motivation.html 感谢您的意见,尽管这个问题被搁置,但它肯定会非常有价值。我真的认为这是一个常见的问题,将来会帮助很多人。 【参考方案1】:

在我的脑海中,有几个优点:

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

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

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

编辑

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

【讨论】:

【参考方案2】:

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

【讨论】:

即使没有 redux,你也可以拥有一个由根组件托管的状态。 这就是我说“可能”的原因。在react 中管理单个状态比在redux IMO 中更麻烦。 “这就是我说“可能”、“IMO”的原因——这就是让答案和问题变得主观的原因。 IMO - 没有太大区别。 如果您不同意,请随时自己回答问题并投反对票。感谢您的反馈。 未拍摄。我认为我们都可以从像您这样的高荣誉退伍军人的意见中受益。

以上是关于Redux 与普通 React [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

React(redux)中的重置输入字段[关闭]

React JS:HOC(重组)或 Redux [关闭]

获取数据时如何在 React Redux 应用程序中显示加载指示器? [关闭]

next.js 的缺点超过 create react app + redux + s-s-r [关闭]

在你的 redux 应用程序中哪里有套接字对象? [关闭]

在 redux 中使用 thunk 中间件与使用常规函数作为异步操作创建者相比有啥好处? [关闭]