未处理的拒绝(TypeError):无法读取未定义的属性(读取“错误”)
2021-09-29
5579
const getToken = (userId, token) => {
22 | getmeToken(userId, token).then((info) => {
23 | console.log("INFO COMING", info);
> 24 | if (info.error) {
25 | setInfo({ ...info, error: info.error });
26 | } else {
27 | const clientToken = info.clientToken;
未处理的拒绝是什么意思,无法读取未定义的属性?
我已经定义了
错误
并为其分配了一个值,下面是
useState
的代码
const [info, setInfo] = useState({
loading: false,
success: false,
clientToken: null,
error:"",
instance: {},
});
根据上述代码,我已经定义并分配了错误的值,那么为什么浏览器仍然显示 无法读取未定义的属性 。有人可以解释一下吗?
getmeToken 函数代码如下
export const getmeToken = (userId, token) => {
return fetch(` ${API}/payent/gettoken/${userId}`, {
method: "GET",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
Authorization: `Bearer ${token}`
}
}).then(response => {
return response.json();
})
.catch(err => console.log(err))
}
1个回答
首先,检查
getmeToken
函数的输出。然后,您可以使用
info?.error
而不是
info.error
来处理此错误。
编辑
:
再次检查
${API}/payent/gettoken/${userId
网址。我认为
/payent/
不正确(
/payment/
是正确的)
Milad Jafari
2021-09-29