首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >容器应该从道具中获取值吗?

容器应该从道具中获取值吗?
EN

Stack Overflow用户
提问于 2018-07-15 21:29:44
回答 2查看 135关注 0票数 0

我有一个类似于redux的应用程序结构:

代码语言:javascript
复制
app
|-router
| — dashboard container
| — — dashboard component
| — setting container
| — — setting component

考虑一下这两个容器,如果我需要从商店获取翻译文本,我应该使用哪种方式?

(1)连接路由器上的redux store,通过道具传给容器

(2)每个容器分别接入redux store

EN

回答 2

Stack Overflow用户

发布于 2018-07-15 21:43:06

正如redux的作者丹·阿布拉莫夫在本期中所说的那样。

将道具传递给子对象或将它们连接到存储的两种方法都是合适的,但是使用嵌套的connect()组件实际上会给您带来更高的性能。缺点是它们与应用程序的耦合度稍高,测试也稍微困难一些,但这可能不是什么大问题。

他还阐述了在reddit https://www.reddit.com/r/reactjs/comments/4azg7q/using_redux_how_do_you_handle_subcomponents_of_a/上遵循的一条很好的经验法则

我这样做:

试着把你的演示组件分开。通过连接它们来创建容器组件当它是convenient.Whenever时,你会觉得你是在复制父组件中的代码,为相同类型的子组件提供数据,是时候提取容器了。

因此,简单地说:

您可以在任何级别使用connect()。这样做会使组件变得智能,因为它知道它的道具来自哪里。哑巴组件只有一些道具,它们可以来自任何地方。智能组件耦合到redux;而哑组件则不是。

票数 2
EN

Stack Overflow用户

发布于 2018-07-15 21:51:50

如果翻译是从路由器分派的,那么如果它们不是通过分派操作来获取或更新的,则使用connect,并且永远不会更新,传递它们会更好。

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

https://stackoverflow.com/questions/51348859

复制
相关文章

相似问题

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