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