在以下示例中,我收到此错误
TypeError:_this未定义
我尝试了很多方法,但是找不到解决错误的方法,我该如何解决?
component_for_home_page.js
import { dispatch } from 'dispatch'
class Home extends PureComponent {
componentDidMount() {
dispatch('ADD_TEXT', 'Beep, Boop')
// instead of following
// this.props.dispatch({
// type: 'ADD_TEXT'
// text: 'Beep, Boop'
// })
//
}
render() {
return (<p>{this.props.text}</p>)
}
}
function mapStateToProps(state) {
return {
...state
}
}
const connectedHomeComponent = connect(mapStateToProps)(Home)
export {
connectedHomeComponent
}
simplify_dispatch.js
const dispatch = (type, text) => {
return this.props.dispatch({
type,
text
})
}
答案 0 :(得分:1)
在simplify_dispatch.js
中,您试图访问this.props
,但这不是在正确的上下文中,因为您希望this
来自您的component_for_home_page
。我不确定您为什么不想只使用this.props.dispatch(...)
,但是如果您坚持使用这种方法,我建议您在simplify_dispatch.js
中的函数中传递第三个参数,即{{1} }或this.props
this.props.dispatch