使用redux进行反应的原因是什么?

时间:2017-09-18 18:52:21

标签: reactjs redux

有没有人有充分理由使用redux进行反应?我想在反应中构建非常小的组件,所以我不需要redux。 每个组件都有自己的状态,如redux。

你怎么看?你有什么样的经历?

2 个答案:

答案 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视为更复杂的应用程序。