如何在具有多个容器且没有代码重复的应用中使用Redux来实现加载指示器?

时间:2018-11-07 21:15:10

标签: redux react-redux containers loading dry

通过实现根减速器来管理多个容器组件的减速器,以消除重复的装载指示符状态逻辑,该根减速器使用动作的命名约定来处理装载标志。

经过一些重构后,以下代码仍通过我的容器组件render方法重复进行:

const mapStateToProps = (state) => ({
  isLoading: loadingSelector(state)
});

if (this.props.isLoading) {
  return <LoadingIndicator />;
}
return <ActualComponent />

具有这样的代码重复让我感到困扰,但是我找不到一种以集中方式进行重复的方法。

是否有更好的模式来执行此操作,或者在容器中进行这种代码重复是正常的?

1 个答案:

答案 0 :(得分:-1)

1:dispatch(showLoading(data))store = { isLoading: undefined }

2:如果它是Card之类的组件,则默认状态应为loading

还有其他情况吗?