currentUser is undefined显示为未定义



我使用react with redux,我遇到了这个问题,导致登录和配置文件之间的无限循环。当我在配置文件中删除条件if(!cuurentUser)进行调试时,它表明curentUser是未定义的。

import React from "react";
import { Redirect } from 'react-router-dom';
import { useSelector } from "react-redux";
const Profile = () => {
const { currentUser }= useSelector((state) => state.auth);
if (!currentUser) {
return <Redirect to="/login" />;
}
return (
<div className="container">
<header className="jumbotron">
<h3>
<strong>{currentUser.username}</strong> Profile
</h3>
</header>
<p>
<strong>Token:</strong> {currentUser.accessToken.substring(0, 20)} ...{" "}
{currentUser.accessToken.substr(currentUser.accessToken.length - 20)}
</p>
<p>
<strong>Id:</strong> {currentUser.id}
</p>
<p>
<strong>Email:</strong> {currentUser.email}
</p>
<strong>Authorities:</strong>
<ul>
{currentUser.roles &&
currentUser.roles.map((role, index) => <li key={index}>{role}</li>)}
</ul>
</div>
);
};
export default Profile;

重定向到Profile组件的组件有一个在用户登录时重定向的逻辑,很可能是使用某种useEffect挂钩。此外,该重定向组件需要正确填充您的Redux存储,因此当您重定向到Profile组件时,您的currentUser在存储中可用,否则它将始终呈现Redirect

不知怎么的,我通过添加以下内容解决了问题:

const  {user: currentUser}  = useSelector((state) => state.auth);

相关内容

  • 没有找到相关文章

最新更新