useEffect内で依存配列を使わずに最新のstateを参照したい
unmount時にstateの値を使って何かしたい時、下のようなコードを書くとvalueの値を他の場所でいくら更新してもmount時の値である0のままになるかと思います。
const [value,setValue] = useState(0) useEffect(()=>{ return ()=>{ console.log(value)//ずっと0のまま } },[])
一方で第二引数の配列(依存配列?)にvalueを入れた場合、最新のvalueが得られる代わりに不要なタイミングで発火してしまいます。
対策としてuseRefを経由することで発火タイミングを変えずに最新のstateを取得できるとのこと。
javascript - How to access state when component unmount with React Hooks? - Stack Overflow