如果在设置值后立即调用,React useState() 不会更新变量的值。
我读过 useEffect(),但不知道这对这个特定场景有什么用处。
完整代码(请打开控制台选项卡查看变量状态)
// hook
const [ error, setError ] = useState<boolean>();
const handleSubmit = (e: any): void => {
e.preventDefault();
if (email.length < 4) {
setError(true);
}
if (password.length < 5) {
setError(true);
}
console.log(error); // <== still false even after setting it to true
if (!error) {
console.log("validation passed, creating token");
setToken();
} else {
console.log("errors");
}
};
Run Code Online (Sandbox Code Playgroud)