Javascript connect react redux HOC GET错误`无法将类作为函数调用`
我的电脑怎么了?我遇到了无法将类作为函数调用的错误 我的孩子Javascript connect react redux HOC GET错误`无法将类作为函数调用`,javascript,reactjs,ecmascript-6,redux,Javascript,Reactjs,Ecmascript 6,Redux,我的电脑怎么了?我遇到了无法将类作为函数调用的错误 我的孩子 const CheckPermission = (Component) => { return class App extends Component { componentDidMount() { this.props.fetchUsers().then(resp => { this.setState({user: true, load
const CheckPermission = (Component) => {
return class App extends Component {
componentDidMount() {
this.props.fetchUsers().then(resp => {
this.setState({user: true, loading: false});
})
}
render() {
const { user, loading } = this.props
loading && <div>Loading...</div>
!user && <Redirect to="/dashboard" />
return <Component {...this.props} />
}
}
}
export default connect(state=>state.global, {fetchUsers})(CheckPermission)
const CheckPermission=(组件)=>{
返回类应用程序扩展组件{
componentDidMount(){
this.props.fetchUsers().then(resp=>{
this.setState({user:true,load:false});
})
}
render(){
const{user,load}=this.props
正在加载和正在加载。。。
!用户&&
返回
}
}
}
导出默认连接(state=>state.global,{fetchUsers})(CheckPermission)
以下是我导入和用户检查权限的方式:
您不能将检查权限
包装为连接
,因为它也是一个HOC。
相反,你必须创作它们
import { compose } from 'redux';
我仍然遇到同样的错误,这是我在第7行的完整文件为什么在
组件
周围添加大括号我编辑了我的代码片段以重新排列传递给组件的参数我删除了大括号,现在它工作了,这与组合参数的顺序有关吗?是的,因为compose
将第二个函数的结果传递给第一个函数,而在checkPermission
中,您需要connect传递的道具。
export default compose(
connect(state=>state.global, {fetchUsers}),
CheckPermission
);