今週やったことのメモ
Storybook が v7 になって Next.js 向けに導入しやすくなったので導入しようと思ったが、コードの変更を先にやっておかないと依存関係のモックが難しいので
- firebase/auth の各メソッドを直接ページコンポーネント内で使わず、Context 経由で使うようにした
- ログイン中のユーザーを取得する custom hooks も Context 経由で使うようにした
などの実装変更をした。
Storybook で表示しやすいコンポーネントにするため、外部 API と接続する部分をなるべく分離するようにしてみている。
また useForm のデフォルト値セットの部分を修正したり、全体的なコード見直しついでにアロー関数から通常の関数へ変更したりしている。
アロー関数を通常の関数にすることについては、React や Next.js の公式ドキュメントが基本的にアロー関数を使っていないことから、一度基本に忠実にやってみようと思った。
従来の関数とアロー関数の使い分け | サバイバルTypeScript
上記の記事を見る限りアロー関数を積極的に使うべきという意見もあるらしいのだが、まあ個人開発であるならば一定の基準で使い分けられていればいいと思う。
私はコールバック関数はアロー関数で書き、Next.js でも NextPageWithLayout を使う部分はアロー関数になっているのでアロー関数で書くつもりである。
* * *
職場での経験から「リファクタリング」という言葉を使えなくなってしまった。
実際、何ら困っていないのにわざわざアロー関数を通常の関数に置き換えるのはリファクタリングではない。