![](/img/trans.png)
[英]React API Error (Unhandled Rejection (TypeError): Cannot read property '0' of undefined)
[英]React - Unhandled Rejection (TypeError): Cannot read property 'error' of undefined
我對 React 很陌生,在使用用戶登錄和管理員登錄時遇到錯誤
這是我在登錄文件中的方法,我遇到了一個錯誤 - 未定義的錯誤。 如果用戶成功登錄,我在 state 值中使用錯誤來更改錯誤狀態
const [values, setValues] = useState({
email: "",
password: "",
error: "",
loading: false,
didRedirect: false
});
const { email, password, error, loading, didRedirect } = values;
const { user } = isAuthenticated();
const handleChange = name => event => {
setValues({ ...values, error: false, [name]: event.target.value });
};
const onSubmit = event => {
event.preventDefault();
setValues({ ...values, error: false, loading: true });
signin({ email, password })
.then(data => {
if(data.error) {
setValues({ ...values, error: data.error, loading: false });
} else {
authenticate(data, () => {
setValues({
...values,
didRedirect: true
});
});
}
})
.catch(console.log("signin request failed"));
};
const performRedirect = () => {
//TODO: do a redirect here
if (didRedirect) {
if (user && user.role === 1) {
return <Redirect to="/admin/dashboard" />;
} else {
return <Redirect to="/user/dashboard" />;
}
}
if (isAuthenticated()) {
return <Redirect to="/" />;
}
};
因為它是異步的,你必須等待你的數據有一個點數據未定義,這就是它拋出錯誤的原因。 嘗試改變
if(data.error) {
至
if(data && data.error) {
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.