我有一种感觉,我在这里错误地使用mapToDispatchProps
:
function mapDispatchToProps(dispatch) {
return {
resetLoginForm() {
dispatch(reset("login"))
},
resetLoginFailState() {
dispatch(resetLoginFailed);
}
}
}
它正在为resetLoginForm
工作,这意味着,我可以正常访问this.props.resetLoginForm()
。但是当我添加resetLoginFailState
时,调用操作时出现错误:Actions must be plain objects
实际操作确实会返回一个普通对象,因此我不确定问题是什么:
export const resetLoginFailed = () => {
return { type: RESET_LOGIN_FAILED }
};
答案 0 :(得分:1)
resetLoginFailState() {
dispatch(resetLoginFailed);
}
你正在派遣一个职能 - 字面意思。您忘记执行它以发送 redux操作:
resetLoginFailState() {
dispatch(resetLoginFailed());
}
答案 1 :(得分:1)
动作必须是普通对象,为什么?
因为你传递了一个函数来调度,你需要调用那个函数,然后才会返回该对象。
像这样写:
resetLoginFailState() {
dispatch(resetLoginFailed()); // notice ()
}