【发布时间】:2019-11-29 15:56:49
【问题描述】:
我正在尝试通过“recompose”中的 { compose } 函数通过 connect() 函数在 redux 容器组件中添加来自 material-ui 的 withStyles() 钩子,并从 recompose 包中获取此错误:
TypeError: Function.prototype.apply 在# 上被调用,这是一个对象而不是一个函数
我请求任何帮助,我已经花了太多时间了
import { withStyles } from '@material-ui/core/styles';
import { styles } from './styles';
import { compose } from 'recompose';
import { connect } from 'react-redux';
...
function mapStateToProps(state) {
return {
someVal: state.someVal,
}
}
function mapDispatchToProps(dispatch) {
return ({
changeVal: () => {dispatch('CHANGE_VAL')}
})
}
export default compose(
withStyles(styles),
connect(mapStateToProps, mapDispatchToProps)(App)
);
//if i do:
export default connect(mapStateToProps,mapDispatchToProps)(App)
//or:
export default withStyles(styles)(App)
//it's work. (just to clarify)
【问题讨论】:
-
export default connect(mapStateToProps,mapDispatchToProps)(withStyles(styles)(App))
标签: javascript reactjs redux material-ui recompose