我目前正在尝试将最新更新放入超时函数中。这意味着我希望将c
更新为1
,而不必使用useRef
钩子之类的东西。
const [c, s] = useState<number>(0)
const f = () => {
s(1)
setTimeout(() => console.log(c), 600)
}
return (
<div
style={{ width: '100%', height: '100%', backgroundColor: 'black' }}
onMouseEnter={f}
>
test
</div>
)
没有引用,你可以尝试useEffect
钩子:
const [c, setC] = useState<number>(0);
useEffect(() => {
setTimeout(() => {
console.log(c);
}, 600);
}, [c]);
const f = () => {
setC(1);
};
return <div onMouseEnter={f}>test</div>;