如何在超时函数中获取更新的 useState() 值?

我目前正在尝试将最新更新获取到超时函数中。这意味着我想更新到而不必使用类似钩子的东西。c1useRef


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>

    )


缥缈止盈
浏览 96回答 1
1回答

慕妹3242003

如果没有引用,您可以尝试使用Effect hook:const [c, setC] = useState<number>(0);useEffect(() => {&nbsp; setTimeout(() => {&nbsp; &nbsp; console.log(c);&nbsp; }, 600);}, [c]);const f = () => {&nbsp; setC(1);};return <div onMouseEnter={f}>test</div>;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript