【发布时间】:2018-09-08 12:51:02
【问题描述】:
我有一个只显示用户列表的用户组件。我试图将它包装在 HOC 加载组件中,以便它仅在加载用户后显示,否则显示加载微调器(现在只是文本)
这是我的 HOC:
const Loading = (propName) => (WrappedComponent) => {
return class extends React.Component{
render(){
return this.props[propName].length === 0 ? <div> Loading... </div> : <WrappedComponent {...this.props} />
}
}
}
export default Loading;
在我的用户组件的底部我有这个:
export default connect(
mapStateToProps,
mapDispatchToProps
)(Loading('users')(Users));
目前,Loading... 这个词只停留在屏幕上。并且propName 以undefined 的身份通过
我认为由于某种原因,用户组件永远不会被填充。我做错了什么?
【问题讨论】:
-
你想用 this.props[propName] 做什么?
-
有道具通过吗?
-
@Think-Twice 我想根据 props 渲染组件
-
我现在想问你如何获得用户以及如何渲染这个组件。因为我没有从你的问题中得到结构:) 很高兴你解决了你的问题。您可以提供有关解决方案的详细答案并接受它。
-
干杯,非常感谢!
标签: javascript reactjs redux higher-order-functions