【发布时间】:2016-11-22 14:45:56
【问题描述】:
我发现我的mapStateToProps 越来越复杂。
例如,跨多个连接的组件,我一直在做这样的事情:
const mapStateToProps = (state) => {
return {
activeAsset: state.assets.byId[state.assets.activeAssetId].attributes
}
}
问题 #1:
很明显,上面的代码可以用一些条件来保护,因为 activeAssetId 并不总是设置,这会导致上面的抛出错误。
问题 #2:
假设我想在多个组件中获取当前的activeAsset,我现在必须复制上面的代码。
我听说过reselect,但我不完全确定这是否是正确的选择,因为它似乎专门用于记忆函数。
如果答案很明显,请原谅,我对 redux 生态系统还很陌生。
【问题讨论】:
-
见stackoverflow.com/questions/40711359/…。它解释了如何将业务逻辑从视图中分离出来,以及如何将选择器用于记忆化和可维护的代码。
标签: javascript reactjs redux