首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(好奇)-最好是拥有顶级的智能组件还是小的连接组件?

(好奇)-最好是拥有顶级的智能组件还是小的连接组件?
EN

Stack Overflow用户
提问于 2016-06-15 02:27:15
回答 2查看 353关注 0票数 2

我在过去已经构建了一些更大的Redux应用程序(这太有趣了),但是现在我用它来构建一个简单的、单一的页面类型的东西。我之所以选择Redux,是因为有一些状态/UI操作可以管理,我认为这些操作非常适合它。而且很棒。

就像现在一样,顶层的<App />组件是连接到存储/能够分派操作的唯一组件(通过mapStateToProps/mapDispatchToProps方法),并且每个组件的后缀/区段组件本质上都是“哑组件”,它们只是不断地传递状态和动作分派函数的一部分。

我可以看到自己用另一种方式编写这篇文章,其中每个部分/组件/主要后裔分别连接到商店。我喜欢这个想法,因为会有更少的传递道具给许多后代,但上面表达的“涓涓向下”方法提醒我更多的数据流,为我写的前几个反应应用。

我只是好奇的是,在这方面的最佳方式是什么共识,或者是否有一个甚至是完全由我作为开发商?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-15 09:04:49

在应用程序的最顶层,只有一个连接组件的问题是,您必须将道具显式地传递给子组件,有时您最终会通过子组件的子组件传递属性和回调,等等。您的许多组件将从他们的父母那里接收道具,以便将它们传递给他们的孩子,而不使用它们。当您看到自己处于这种情况时,这是一个很好的指示,表明您应该考虑创建一个连接组件,而不是像Dan Abramov所说的那样:

您很难将父组件耦合到需要呈现的子组件。实际上,您传递的是许多孩子只需要的道具,而更改这些道具可能需要痛苦的重构。相反,一旦您看到组件在不使用它的情况下传递道具,我们建议使用connect()生成一个“容器”组件。

来源

此外,只有一个顶级连接组件,您的应用程序将始终重新呈现从最上面到底部。即使在每个愚蠢的组件上都有严格的shouldComponentUpdate实现,您也会遇到糟糕的性能。

看看我摘录这句话的地方的讨论

票数 4
EN

Stack Overflow用户

发布于 2016-06-15 09:59:38

小连接组件,因为它减少了不必要的重新呈现,应用程序的每个部分更新自己的状态。

好的解决方案:对https://www.youtube.com/watch?v=KYzlpRvWZ6c进行反应。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37825112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档