gpt4 book ai didi

javascript - 为什么 React Hooks 不更新数据

转载 作者:行者123 更新时间:2023-12-02 21:28:00 25 4
gpt4 key购买 nike

我尝试使用获取的数据更新 useState 中的值。当我控制台.log data.success时,它返回正确。然后我将其分配给成功值。但它返回false!为什么?为什么值(value)成功没有立即更新。最后我从服务器收到登录成功的消息。登录成功: false用户管理员已登录

const Signin = () => {
const [values, setValues] = useState({
success: false
});

const { success } = values;

const clickSubmit = async event => {
event.preventDefault();

const signReact = catchAsync(async (email, password) => {
const data = await signin(email, password) // fetch data from the server
console.log(data.success); // -> true
if (data) {
setValues({
...values, success: data.success // -> assign to success
});
console.log("SIGN IN success: " + success); // -> false! why?!
}
return data;
});

signReact(email, password);
};

最佳答案

使用useEffect 。尝试这样的事情:

useEffect(() => {
console.log("SIGN IN success: " + values.success);
}, [values]);

...
...
const data = await signin(email, password);
setValues(prevState =>{...prevState, success: data.success});

关于javascript - 为什么 React Hooks 不更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60686533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com