Composition APIを使うメリットとは?
メリットは大きく2つ
-
ロジックの抽出と再利用
→ 責務を分けることで管理やテストのしやすさ向上
-
TypeScriptとの親和性が上がる
→ 型推論を行いやすくなる
なぜロジックの抽出と再利用?
ロジックの抽出を行う理由は、
複雑に肥大化したコンポーネントを小分けにして関心事で分別(=複数の責務を持つコンポーネントを小分けにして責務の整理をする)
今まではhtml/js/cssを合わせたコンポーネントが最小単位だったが、ロジックだけを切り分けたりできるようになった。
これにより、必要な機能だけをimportして呼び出すことで責務が分けられて管理もしやすくなるし、テストも書きやすくなる。
上記のように小分けにしたことで、ロジックの再利用性が上がった。
Composition APIを使うといいCaseって?
コンポーネントがぶくぶく太って責務を持ちすぎている場合
→逆に言うと、コンポーネントがそれほど大きくない(今後大きくならない)プロジェクトに導入するのは微妙(学習コストに見合わない?)
気をつけないといけないこと
ロジックを自由に切り出せるようになった
→自由にやりすぎると無秩序になる
(例)
切り出したロジックの中で他の切り出したロジックを使うなど依存の方向が複雑になる
こうならないためにも、設計やアーキテクチャをしっかり理解してチームで共通認識を持っていないといけない。
抽出と再利用でわかりやすい例
vue-composition-apiを使って機能単位のコード分割と合成を試してみた - Qiita