Vue 3のComposition APIを使った複雑なロジックの再利用

0

2024年12月12日 15:16

開発をしていると、複雑なロジックを書くことは避けられません。しかし、そのロジックを使い回すことができれば、開発の効率が大きく向上します。そこで、Vue 3のComposition APIを使うことで、複雑なロジックを再利用する方法を探っていきましょう。

Vue 3とは

Vue 3とは、人気のフロントエンドフレームワークであるVue.jsの最新バージョンです。Vue.jsは、HTML、CSS、JavaScriptを使って動的なWebページを作ることができるフレームワークです。Vue 3は、Composition APIという新しいAPIを導入し、より柔軟で再利用性の高いコードを書くことができるようになりました。

Composition APIとは

Composition APIとは、Vue 3で導入された新しいAPIのことです。従来のOptions APIでは、データやメソッドなどがオブジェクトの中にまとめられていましたが、Composition APIでは、ロジックの部分を関数として分離することができます。これにより、コードの再利用性が向上し、より柔軟なコードを書くことができるようになりました。

Composition APIのメリット

Composition APIを使うことで、以下のようなメリットがあります。

  • コードの再利用性が向上する
  • 複雑なロジックを分割しやすくなる
  • フック関数を使うことで、コンポーネントの状態を保持することができる
  • ロジックとビューをより分離することができる
  • オプションの順序に依存しないので、コードを読みやすくなる

Composition APIの使い方

Composition APIは、Vue 3で導入されましたが、Vue 2からも使用することができます。ただし、Vue 2では、@vue/composition-apiというパッケージをインストールする必要があります。

まず、Composition APIを使用するには、setup関数を使用する必要があります。setup関数の中には、ロジックを記述する関数を追加することができます。また、setup関数の中では、Vueのリアクティブシステムを使うことができるので、データの更新を監視することもできます。

例えば、以下のようなコードを見てみましょう。

img

このコードでは、countという変数を定義し、それをボタンを押すことで1ずつ増やすことができるようになっています。ここで、count変数は、リアクティブな値として定義されているので、ボタンを押すたびに自動的に変更されることに注意しましょう。

ロジックの分割

Vue 3のComposition APIでは、ロジックを関数として分割することができます。これにより、コードの再利用性が向上します。

例えば、以下のようなコードを見てみましょう。

img

このコードでは、count変数に対して、増減するための関数を定義しています。ここで、incrementとdecrementの両方でcountの値を変更する必要があるため、共通のロジックとして関数を分割することができます。

img

ここで、共通する部分をincrementとdecrementの外に出し、incrementとdecrementの中でその関数を呼び出すようにすることで、コードの再利用性が向上します。

フック関数の使用

フック関数とは、Vueのコンポーネントの中に記述される関数のことです。フック関数を使用することで、コンポーネントの状態を保持することができます。

例えば、以下のようなコードを見てみましょう。

img

このコードでは、count変数に対して、incrementで増やすことができ、resetで0にリセットすることができます。ここで、resetの中で直接countの値を書き換えていますが、これをフック関数を使用することで改善することができます。

img

ここで、useCounterというフック関数を定義し、その中でcountの初期値を設定し、incrementとresetの関数を定義しています。そして、setup関数の中でuseCounterを呼び出し、その返り値をcount、increment、resetとして返しています。

このようにすることで、今後同じようなロジックが必要になったときに、useCounterを呼び出すだけで簡単に再利用することができます。

ロジックとビューの分離

Composition APIを使用することで、ロジックとビューをより分離することができます。これにより、コードの見通しが良くなり、より柔軟なコードを書くことができるようになります。

例えば、以下のようなコードを見てみましょう。

img

このコードでは、カウンターのタイトルとしてtitleを定義し、その下にカウントを表示するためのcountを定義しています。しかし、このようにロジックとビューが混在することで、コードが複雑になり見通しが悪くなってしまいます。

そこで、Composition APIを使用することで、ロジックとビューを分離することができます。例えば、以下のようなコードを見てみましょう。

img

このようにすることで、useCounterというロジックを定義し、setup関数の中でその返り値を受け取るようにすることで、ロジックとビューを分離することができます。

オプションの順序に依存しない

Composition APIを使用することで、オプションの順序に依存しないコードを書くことができます。これにより、コードを読みやすくすることができます。

例えば、以下のようなコードを見てみましょう。

img

このコードでは、setup関数の中でcountとincrementを定義し、methodsの中でresetを定義しています。しかし、このようにオプションの順序に依存することで、コードが読みにくくなってしまいます。

そこで、Composition APIを使用することで、以下のように書くことができます。

img

このように、setup関数の中でcountとincrementを定義し、useCounterの中でresetを定義することで、オプションの順序に依存しないコードを書くことができます。

まとめ

Vue 3のComposition APIを使うことで、複雑なロジックを効率的に再利用することができるようになります。

  • Composition APIとは、Vue 3で導入された新しいAPIのことで、複雑なロジックを再利用することができるようになります。
  • Composition APIを使うことで、コードの再利用性が向上し、複雑なロジックを分割しやすくなります。
  • フック関数を使うことで、コンポーネントの状態を保持することができます。
  • ロジックとビューを分離することで、コードの見通しが良くなります。
  • オプションの順序に依存しないので、コードを読みやすくなります。

Vue 3のComposition APIを上手に使いこなすことで、より効率的な開発ができるようになります。ぜひ、今後の開発に取り入れてみてください。

[cv:issue_marketplace_engineer]

# Vue
# Vue.js
# Nuxt.js
0

診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。