React Hooks 筆記

Coco

1分鐘閱讀

2024-09-01

useState 的狀態更新是異步的,別在同一事件裡連續拿舊值。

  • 用函數式更新:setCount(c => c + 1)
  • 副作用放 useEffect,記得清理
const [c, setC] = useState(0); useEffect(() => { const id = setInterval(() => setC((x) => x + 1), 1000); return () => clearInterval(id); }, []);

複雜狀態優先用 reducer,別堆 useState。