generated at
Custom Hook
自分で定義するReact Hooks

概念的には、普通に処理を関数にしてまとめるぐらいのカジュアルなものだと思えばいいと思う
別に共通化したい処理じゃなくても、長くなってきたからまとめるぐらいの気持ちで使えばいい

普通の関数との違いは
名前を use から始めること
conventionだけどね
大抵の場合、中で他のhookを呼ぶこと
ゆえにpure functionではない(stateやside effectがある)し、テストを書こうと思ったらcomponentをrenderする事になる
ただし、hookの呼び出しごとにstateは完全にisolatedであり、共有はされていない
内部的にはuseStateとかuseEffectとかを複数回呼んでいるのと同じ