Node.js 如何访问登录用户的名称?
因此,我有一个个人资料页面,如果用户已登录,则会指向该页面。我想在页面上显示姓名、出生、照片等。但是我不知道如何访问用户的名字,因为我只在用户注册我的网站时才请求用户名 代码配置文件页:Node.js 如何访问登录用户的名称?,node.js,reactjs,redux,Node.js,Reactjs,Redux,因此,我有一个个人资料页面,如果用户已登录,则会指向该页面。我想在页面上显示姓名、出生、照片等。但是我不知道如何访问用户的名字,因为我只在用户注册我的网站时才请求用户名 代码配置文件页: const userLogin = useSelector((state) => state.userLogin) const { loading, userInfo, error } = userLogin const [activeProfile, setActiveProfile]
const userLogin = useSelector((state) => state.userLogin)
const { loading, userInfo, error } = userLogin
const [activeProfile, setActiveProfile] = useState(false)
{userInfo ? (
active ? (
<div className="profile-setting">
<FontAwesomeIcon
icon={faTimes}
className="close-btn-profile"
size={'2x'}
onClick={() => alert('closed')}
/>
<div className="profile-img">
<img src={img} alt="name" />
</div>
<p className="profile-name">{name}</p>
<p>
{' '}
Wishlist
<FontAwesomeIcon icon={faHeart} />
<span>0</span>
</p>
<button
className="logout-btn"
onClick={() => alert('logged out')}
>
Logout
</button>
</div>
) : (
<div
className="profile-btn"
onClick={setActive(true)}
>
<img src={img} />
</div>
)
) : (
<Link to="/login">
<li>Login</li>
</Link>
)}
代码注册操作:
const register = (name, email, password) => async (dispatch) => {
dispatch({
type: actions.USER_REGISTER_REQUEST,
payload: {
name,
email,
password,
},
})
try {
const { data } = await Axios.post(
'http://localhost:5000/users/register',
{
name,
email,
password,
}
)
dispatch({ type: actions.USER_REGISTER_SUCCESS, payload: data })
Cookie.set('userInfo', JSON.stringify(data))
} catch (error) {
dispatch({ type: actions.USER_REGISTER_FAIL, payload: error.message })
}
}
代码登录操作:
const login = (email, password, name) => async (dispatch) => {
dispatch({
type: actions.USER_LOGIN_REQUEST,
payload: {
email,
password,
name,
},
})
try {
const { data } = await Axios.post(
'http://localhost:5000/users/signin',
{ email, password, name }
)
dispatch({ type: actions.USER_LOGIN_SUCCESS, payload: data })
Cookie.set('userInfo', JSON.stringify(data))
} catch (error) {
dispatch({ type: actions.USER_LOGIN_FAIL, payload: error.message })
}
}
我假设您想要显示的所有这些都在
userInfo
中,它应该从后端到状态。将它们从userInfo
提取为const{name,…etc}=userInfo
@BlackMath是否需要从注册操作或登录操作中提取?它处于状态,您正在使用useSelector
在配置文件组件中提取它。无论您想在哪里使用name,请使用userInfo.name
,无论您想在哪里使用图像,请使用userInfo.img
。。。等等,我太笨了,谢谢你不是。你在学习。
const login = (email, password, name) => async (dispatch) => {
dispatch({
type: actions.USER_LOGIN_REQUEST,
payload: {
email,
password,
name,
},
})
try {
const { data } = await Axios.post(
'http://localhost:5000/users/signin',
{ email, password, name }
)
dispatch({ type: actions.USER_LOGIN_SUCCESS, payload: data })
Cookie.set('userInfo', JSON.stringify(data))
} catch (error) {
dispatch({ type: actions.USER_LOGIN_FAIL, payload: error.message })
}
}