reactjs - 在react上使用redux的原因是什么?

标签 reactjs redux

有人有充分的理由在 React 上使用 redux 吗?我想在 React 中构建非常小的组件,所以我不需要 redux。 每个组件都有自己的状态,就像 redux 一样。

你觉得怎么样?您有什么样的经历?

最佳答案

来自 the Redux FAQs 的精彩段落:

Pete Hunt, one of the early contributors to React, says:

You'll know when you need Flux. If you aren't sure if you need it, you don't need it.

同样,Redux 的创建者之一 Dan Abramov 表示:

I would like to amend this: don't use Redux until you have problems with vanilla React.

一般来说,当您有合理数量的数据时,请使用 Redux 随着时间的推移而变化,你需要单一的事实来源,你会发现 这就像将所有内容都保留在顶级 React 中一样 组件的状态不再足够。

但是,了解使用 Redux 附带的内容也很重要 权衡。它并不是被设计为最短或最快的方式 写代码。它的目的是帮助回答“什么时候发生的”这个问题 某些状态发生变化,数据从哪里来?", 具有可预测的行为。它通过要求您遵循特定的方式来做到这一点 应用程序中的约束:将应用程序的状态存储为 纯数据,将更改描述为纯对象,并处理这些 使用不可变地应用更新的纯函数进行更改。这是 通常是有关“样板文件”的提示来源。这些限制 需要开发人员付出努力,但也需要开放一些 额外的可能性(例如存储持久性和 同步)。

如果你刚刚学习 React,你可能应该专注于思考 首先在 React 中,当你更好地理解 React 后,再看看 Redux 以及 Redux 如何适合您的应用程序。

归根结底,Redux 只是一个工具。这是一个很棒的工具,而且有一些 使用它的充分理由,但也有您可能不想要的原因 使用它。对您的工具做出明智的决定,并了解 每个决策所涉及的权衡。

关于reactjs - 在react上使用redux的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46286286/

相关文章:

javascript - GatsbyJS 错误地呈现 URL

javascript - ReactJs 如何从父组件访问子组件引用

reactjs - 如何使用 Jest 模拟出 React `@material-ui/icons` 中的所有图标?

javascript - 数组未定义 - React Redux

javascript - 通过不等式查询firestore

javascript - react setState 函数

javascript - React 使用 JSX 与 Native Javascript 将数据传递给组件

javascript - 在 Javascript 中更新不可变数据并返回 Promise

javascript - 使用 REDUX 将初始状态设置为来自 API 的响应

angular - Redux/ngrx/store 架构 : why not dispatch actions from dumb components?