react-hooks,useState,赋值后没有立刻改变问题?

输出为false,true,false
想要的是false,true,true
react-hooks,useState,赋值后没有立刻改变问题

const [isShowProfessional, setShowProfessional] = useState(false)`
console.log('777777',isShowProfessional)
console.log('000000',!isShowProfessional)
setShowProfessional(!isShowProfessional)
console.log('888888',isShowProfessional)
阅读 13.4k
2 个回答

需要配合userEffect,第二个数组参数,表示数组内的变量变化会执行userEffect的方法。建议去看看官方的文档

userEffect(()=>{
    console.log('888888',isShowProfessional)
},[isShowProfessional])

首先React的state更新机制不是同步的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进