今回の記事ではVuexの同期処理とPiniaの非同期処理について簡単に整理してご紹介します。特に状態(state)の管理における処理のしかたや記述するコードの量の違いが顕著です。端的に言えば、Piniaを導入することで手間を削減することができます。
Vuexのミューテーションは常に同期処理であり、非同期処理を含めることができません。
一方でPiniaのアクションは同期および非同期のコードを含めることができます。その結果、アクション内でAPIコールやその他の非同期処理を直接実行できます。
Vuexでは、基本的な状態の更新にはアクションとミューテーションを定義する必要があります(それがベストプラクティスとされている)。これが純粋に手間に感じる人にとって、Piniaの導入は非常に魅力的な選択肢となるでしょう。