我已经定义了错误。但是,它给出错误“TypeError:无法读取未定义的属性‘错误’”
我这里有货。我将欣赏超越此的想法。
感谢您的帮助。
错误截图
注册组件代码
import React , {useState} from 'react';
import { signup } from '../../../actions/auth';
const SignupComponent = () => {
const [values, setValues] = useState({
firstname: '',
lastname: '',
email: '',
phonenumber: '',
password: '',
confirmpassword: '',
howdidyouknowaboutus: '',
error: '',
loading: false,
message: '',
showForm: true
});
const {firstname, lastname, email, phonenumber, password, confirmpassword, howdidyouknowaboutus, error, loading, message, showForm} = values;
const handleSubmit = e => {
e.preventDefault();
/* console.table({firstname, lastname, email, phonenumber, password, confirmpassword,howdidyouknowaboutus,
error, loading, message, showForm}); */
setValues({...values, loading: true, error: false})
const user = {firstname, lastname, email, phonenumber, password, confirmpassword, howdidyouknowaboutus}
signup(user).then(data => {
if (data.error) { ----------------------------------------------- The line with the error
setValues({...values, error: data.error, loading: false});
}else{
setValues({
...values,
firstname: '',
lastname: '',
email: '',
phonenumber: '',
password: '',
confirmpassword: '',
howdidyouknowaboutus: '',
error: '',
loading: false,
message: data.message,
showForm: false
});
}
});
};
};
export default SignupComponent;
谢谢
最佳答案
UPD
signup(user).then(data => {
if (data) { // check here if data not undefined
if (data.error) {
setValues({...values, error: data.error, loading: false});
}else{
setValues({
...values,
firstname: '',
lastname: '',
email: '',
phonenumber: '',
password: '',
confirmpassword: '',
howdidyouknowaboutus: '',
error: '',
loading: false,
message: data.message,
showForm: false
});
}
} else {
// probably here you would need to do something if dada is undefined
}
});
上一条回复
更改为
if (data && data.error)
确保数据已定义
关于reactjs - 类型错误 : Cannot read property 'error' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65954490/