早上好
当我验证我的表单时,我有一个 handleSubmit 函数,一切正常,如果有任何错误,我的 api 会向我发送错误,并且注册已完成,只是,如果一切正常,则无法重定向...... History.replace 系统地创建一个错误我不明白,特别是因为我网站上所有的 .replace 都有效。
我的句柄提交功能:
const handleSubmit = async e => {
e.preventDefault();
const apiErrors = {};
if(user.password !== user.passwordConfirm) {
apiErrors.passwordConfirm = "mdpError"
setErrors(apiErrors)
return;
}
try {
await usersApi.register(user)
setErrors({})
history.replace("/")
} catch (error) {
const { violations } = error.response.data;
if (violations) {
violations.forEach(violation => {
apiErrors[violation.propertyPath] = violation.message
})
setErrors(apiErrors);
}
}
}
控制台显示此错误: Uncaught (in promise) TypeError: Cannot read property 'data' of undefined
我的 {history} 组件的参数恢复得很好......
如果有人有想法,非常感谢!