首页 > 解决方案 > React redux 原子设计——redux 的作用在哪里?

问题描述

在我看来(这当然可能是错误的,这就是我发布这个问题的原因)原子设计架构和 redux 架构很难联系起来。不要误会我的意思——跟着我。

原子设计说所有组件(页面除外)都不应访问主应用程序商店,我同意这一点。但是,他们说只有“页面”元素可以连接到商店(在 redux 情况下 - 具有mapStateToProps)。这已经是一个问题了,因为虽然拥有一个由 Item 分子组成的 List 组件 - 最好在单个Item 组件中拥有一个连接函数并使用从 store 中获取单个实体props.id. 为什么它在真实应用程序中更好?因为它有助于提高性能。原子设计建议在这里做什么?在“页面”级别从商店获取大量集合并将其传递给模板-> 有机体->(最终)分子。我在这里看到的 - 由 mapStateToProps 函数引起的许多不必要的重新渲染事件。有关更多详细信息,请参阅此帖子: https ://github.com/reduxjs/redux/issues/1751

我想解决这个问题,我的解决方案在这里描述:

容器组件(带有 connect 函数的组件)也可以重复使用,因为 mapStateToProps 函数可以使用第二个参数“ownProps”访问不同的存储源。为什么不在分子级别创建容器组件?这也解决了“螺旋钻”问题。或者,如果分子级别的容器组件不是一个好主意 - 也许然后在“有机体”级别上组合容器?我真的不知道哪种方式是正确的,所以请你帮我回答这个问题 - redux 的东西应该进入哪里?这方面的文章不多。

提前致谢。

标签: reactjsreduxcontainersatomic

解决方案


推荐阅读