「React の Hook 20 個をすべて解説する」が初心者向けとして不適切な理由
誤った切り口での分類だから。完。
関連: atoms/ や hooks/ のような「分類のための分類」の問題点
フックとは「実現の手段」に近い概念であって、React がわれわれ利用者に提供したい「できること」そのものではない。
たまたま「関数コンポーネントでは状態やライフサイクルを扱えない」という制限を乗り越えるために 16.8 に追加された機能群の制約を今は「フック」と呼んでいるだけ
https://x.com/honey321998/status/1901279451213967645
例えば、
ref コールバックとか、use() とか、flushSync とか unstable_postpone みたいに、フックじゃない形の API も出始めている
https://x.com/honey321998/status/1901278280084602900
特に ref コールバックおよび use() はそれぞれ useLayoutEffect, useContext を置き換え可能
つまり、「技術的な分類」を越境するような見直しが起こった。
類似事例: 「フック」「単純な関数」のような「実装手段」でディレクトリを分けるべきでない
カスタムフックとして実装したものを、「いや、これはコンポーネントの render Props で実装したほうが良い / いや、これは非 hook 関数で実装したほうが良い」と実装方法を見直すたびに /hook と /utils の間で移動させるんですか?アホらしくないですか?
---
問題の教材:
https://x.com/Sicut_study/status/1901192739016053061
https://qiita.com/Sicut_study/items/d4778cbe8b499570f79e