为了账号安全,请及时绑定邮箱和手机立即绑定

ReactJS -> 为什么我的状态在第一次尝试时返回未定义?

ReactJS -> 为什么我的状态在第一次尝试时返回未定义?

婷婷同学_ 2024-01-18 16:26:00
我试图将用户的登录状态保存在一个状态中,然后将其发送到 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每次渲染后运行,因此即使您设置loginStatusin的值useEffect(),第一次渲染loginStatus也没有任何值。您可以通过在调用中传递默认值来在第一次渲染之前useState()设置默认值,如下所示:

const [loginStatus, setLoginStatus] = useState('whatever you want here, even a null string')


查看完整回答
反对 回复 2024-01-18
  • 1 回答
  • 0 关注
  • 33 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信