Node.js “无法读取未定义的”错误的属性“id” 导出常量已验证==> {如果typeof window==“未定义”{ 返回false;} 如果localStorage.getItem'jwt'{ 返回JSON.parselocalStorage.getItem'jwt';} else{return false;} };
我使用react js作为前端,使用node js作为后端。这是关于后端的错误吗?这是因为它无法在用户对象中找到_id。所以您可以这样做,以确保已经存在用户对象Node.js “无法读取未定义的”错误的属性“id” 导出常量已验证==> {如果typeof window==“未定义”{ 返回false;} 如果localStorage.getItem'jwt'{ 返回JSON.parselocalStorage.getItem'jwt';} else{return false;} };,node.js,reactjs,Node.js,Reactjs,我使用react js作为前端,使用node js作为后端。这是关于后端的错误吗?这是因为它无法在用户对象中找到_id。所以您可以这样做,以确保已经存在用户对象 为什么要调用isAuthenticated.user。\u id,从代码中可以看出,isAuthenticated返回的是令牌而不是用户,jwt令牌不包含_id属性 我认为您正在尝试或应该做的是获取令牌,然后对其进行解码并获取有效负载,您的用户对象(包含_id属性)可能在那里找到 您可以使用jwt解码包对令牌进行解码 导出常量已验证=
为什么要调用isAuthenticated.user。\u id,从代码中可以看出,isAuthenticated返回的是令牌而不是用户,jwt令牌不包含_id属性 我认为您正在尝试或应该做的是获取令牌,然后对其进行解码并获取有效负载,您的用户对象(包含_id属性)可能在那里找到 您可以使用jwt解码包对令牌进行解码 导出常量已验证==> {如果typeof window==“未定义”{ 返回false;} 如果localStorage.getItem'jwt'{ const-token=JSON.parselocalStorage.getItem'jwt'; const decoded:any=decodetoken; 返回已解码。用户。\u id } else{return false;}
};为了回答您的问题,有必要编写一些代码来重现您的上下文、工作和问题。1请将错误和代码作为文本而不是非现场截图发布。它使人们更容易提供帮助。2用户未定义,但无法通过提供的有限代码判断错误所在。isAuthenticated听起来应该返回布尔值,但是我不能确定。你能把isAuthenticated函数作为文本发布吗?看起来isAuthenticated没有返回用户object我可以在控制台上看到jwt令牌,所以我认为有一个用户,你认为这是我的应用程序太慢的原因,还是仅仅是关于mongodb atlasI的?我建议你包含一个代码片段我同意你的回答。
<Link
to={`users/${isAuthenticated().user && isAuthenticated().user._id}`}
>