useEffectでコールバックのみを書くとcomponentが更新されるたびに呼び出されるようになる
つまり
componentDidUpdateとcomponentDidMountを組み合わせた機能

特定のpropsが変化した場合のみに呼び出したいときは、第2引数に配列でセット

なお、空配列をセットすると、最初にコンポーネントがrenderingされたときだけ(1回だけ)実行される(componentDidMountと同じ)
useEffect内でreturnの後にコールバックを書くと、componentWillUnmountと同様のうごきを実装できる
空配列を第2引数に渡すことで、componentDidMount(mainのfunction)とcomponentWillUnmont(returnするfunction)の2度のタイミングで呼び出されることになる