我试图将用户的登录状态保存在一个状态中,然后将其发送到 cookie。问题是,我第一次通过登录表单登录时,我将登录状态设置为“已登录”,然后我控制台记录它,但它返回未定义,然后在第二次按登录按钮时(在我已经登录之后)成功)它最终在控制台中显示“已登录”。这是为什么?我如何解决它?这是相关代码: const [loginStatus, setLoginStatus]= useState() //Here we have irrelevant code that validates the login info entered and then it calls authorizeUser const authorizeUser=()=>{ setLoginStatus('logged in') console.log(loginStatus)}
1 回答
小怪兽爱吃肉
TA贡献1852条经验 获得超1个赞
useEffect
每次渲染后运行,因此即使您设置loginStatus
in的值useEffect()
,第一次渲染loginStatus
也没有任何值。您可以通过在调用中传递默认值来在第一次渲染之前useState()
设置默认值,如下所示:
const [loginStatus, setLoginStatus] = useState('whatever you want here, even a null string')
添加回答
举报
0/150
提交
取消