开发者问题收集

另外,最好在使用setLoggedin时使用回调选项以捕获状态的先前版本如下:

2020-05-05
99

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

3个回答

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

您应该改用以下内容:

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

+1 建议:

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

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

希望这对您有所帮助!

norbitrial
2020-05-05

const {loggedIn, setLoggedIn} = useState(false)

更改为: const [loggedIn, setLoggedIn] = useState(false)

不要使用 { 来声明 useState 变量及其 setter 函数,而应改用 []

Hadi Pawar
2020-05-05

您错误地解构了状态值并更改了处理程序。它返回一个元组,因此您需要获取如下值:

const [loggedIn, setLoggedIn] = useState(false)
Teddy Sterne
2020-05-05