此外,在使用setLoggedIn时最好使用回调选项,以便捕获状态的早期版本,如下所示:



此外,使用setLoggedIn时最好使用回调选项,以便捕获以前版本的状态,如下所示:此外,使用setLoggedIn捕获以前版本状态时最好使用回拨选项,如下所述:此外,当使用setLoggerIn捕获以前状态的版本如下:此外,使用setLoggedIn时最好使用回调选项,以便捕获状态的前一版本如下:另外,使用setRecordedIn时更好使用回调选项以捕获状态的后一版本如下

问题是useState返回的是[]而不是{}

您应该使用以下内容:

const [loggedIn, setLoggedIn] = useState(false);

+1建议:

此外,在使用setLoggedIn时最好使用回调选项,以便捕获以下状态的以前版本:

const handleClick = () => {
setLoggedIn(prev => !prev);
}

我希望这能有所帮助!

更改const {loggedIn, setLoggedIn} = useState(false)

收件人:const [loggedIn, setLoggedIn] = useState(false)

不要使用{}来声明useState变量,而它的setter函数则使用[]

您正在错误地破坏状态值和更改处理程序。它返回一个元组,因此您需要获得如下值:

const [loggedIn, setLoggedIn] = useState(false)

最新更新