gpt4 book ai didi

javascript - 为什么使用钩子(Hook)单击按钮后状态不更新?

转载 作者:行者123 更新时间:2023-11-30 13:48:11 24 4
gpt4 key购买 nike

你能告诉我为什么状态没有更新吗?单击按钮时我更新了状态,但是当我在 setinterval 上控制我的状态时它没有更新,为什么?

这是我的代码

https://codesandbox.io/s/cool-shamir-8lmpo

 <button
onClick={() => {
setState({
filters: {
apps: "DDDDDDH",
searchText: "12333",
taskType: "",
dateFrom: "",
dateTo: "",
status: ""
}
});
}}
>


useEffect(() => {
console.log("===============");
setInterval(() => {
console.log(state);
}, 10000);
}, []);

点击按钮后 searchText: "12333", searchtext 的状态应该是 12333 但它显示为空 wny ?

最佳答案

这里发生的是,点击按钮时状态正在改变,但要在控制台中呈现它,应该清除 setInterval。试试这个!

useEffect(() => {
console.log("===============");
const interval = setInterval(() => {
console.log(state);
}, 10000);
return () => clearInterval(interval);
}, [state]);

关于javascript - 为什么使用钩子(Hook)单击按钮后状态不更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58876550/

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