当进入页面 3s 后,输出当前最新的 count

2022-11-22  本文已影响0人  红酒煮咖啡

使用ref解决闭包问题

function Demo() {
  const [count, setCount] = useState(0);

/**
*使用ref解决闭包问题
 */
const countRef = useRef(count);
countRef.current = count;
/** */

  useEffect(() => {
    const timer = setTimeout(() => {
      console.log(countRef.current )
    }, 3000);
    return () => {
      clearTimeout(timer);
    }
  }, [])

  return (
    <button
      onClick={() => setCount(c => c + 1)}
    >
      click
    </button>
  )
}
上一篇下一篇

猜你喜欢

热点阅读