有没有人有充分理由使用redux进行反应?我想在反应中构建非常小的组件,所以我不需要redux。 每个组件都有自己的状态,如redux。
你怎么看?你有什么样的经历?答案 0 :(得分:6)
来自the Redux FAQs的好段落:
反应的早期贡献者之一Pete Hunt说:
您知道何时需要助焊剂。如果您不确定是否需要它,那么您 不需要它。
同样,Redux的创造者之一Dan Abramov说:
我想修改一下:在你遇到问题之前不要使用Redux 与香草反应。
通常,在有合理数据量时使用Redux 随着时间的推移,你需要一个单一的事实来源,你会发现 这类似于将所有内容保存在顶级React中 组件的状态已经不够了。
但是,了解使用Redux时也很重要 权衡。它不是设计成最短或最快的方式 写代码。它的目的是帮助回答问题"什么时候做了 某些状态变化,数据来自何处?", 具有可预测的行为。它通过要求您遵循具体的方式来实现 应用程序中的约束:将应用程序的状态存储为 普通数据,将更改描述为普通对象,并处理这些更改 使用可以不可变地应用更新的纯函数进行更改。这是 通常是关于"样板"的抱怨的来源。这些限制 需要开发人员的努力,但也打开一个号码 其他可能性(例如商店持久性和 同步)。
如果您只是学习React,那么您应该专注于思考 首先是React,然后在你更好地理解React后再看看Redux 以及Redux如何适合您的应用程序。
最后,Redux只是一个工具。它是一个很棒的工具,还有一些 使用它的很好的理由,但也有你可能不想要的原因 使用它。做出有关工具的明智决策,并了解 每项决定所涉及的权衡。
答案 1 :(得分:2)
Redux主要用于应用程序状态管理。在Redux中完成的应用程序中,整个应用程序的状态在单个不可变状态对象中,不能由您的react组件直接更改。
相反,反应组件可以发出操作,这些操作将传递给reducer / s,这将改变状态。
如果您设计单个组件,则绝对不需要使用Redux。您可以将Redux视为更复杂的应用程序。