我想通过单击“登录”或“注册”按钮显示一个模块化窗口,并且出现以下错误(TypeError:_this.props.dispatch不是函数)。一个项目中的相同代码通常可以在另一个项目中使用。
column_c
答案 0 :(得分:-1)
欢迎堆栈溢出。
如果一切正确,那么您应该不会有问题。
错误消息表明dispatch
属性是函数以外的东西-如果是这样,您应该在控制台中得到警告。
为您节省一些代码的提示...使用如下所示的粗箭头功能,这些功能会自动绑定到this
,因此您无需在构造函数中绑定它们:
constructor(props) {
super(props);
// No longer needed
// this.login = this.login.bind(this);
// this.register = this.register.bind(this);
}
login = () => {
this.props.dispatch(
openModal({content: <Login />,title: "Login"}));
}
register = () => {
this.props.dispatch(
openModal({content: <Register />,title: "Register"}));
}