こんにちは。
野中やすおです。
久しぶりにVue.jsの仕事に関わり出したらVuexがもはやコードに存在せず、Piniaがメインになっていてフロントエンドの変化の速さに戦々恐々する日々です。
そして今回は、Vuexの後継として作られたPiniaのユーティリティ関数であるstoreToRefs関数について解説します。
storeToRefsとは?
storeToRefsは、Piniaのユーティリティ関数で、リアクティブを担保しながら、Storeからプロパティを参照するために使用されます。
storeToRefsの使い方
例えば、以下のようなStoreがPiniaで定義されています。
1 2 3 4 5 6 7 8 9 10 |
import { defineStore } from 'pinia' export const useStore = defineStore('main', { state: () => ({ count: 0 }), actions: { increment() { this.count++ }, }, }) |
storeToRefsを使うと.valueを使って値を取得することができます。
1 2 3 4 5 6 7 |
<script setup> import { storeToRefs } from 'pinia' const { count, increment } = storeToRefs(useStore()) console.log(count.value) // 0を表示 increment() // count.valueは1になる </script> |
参考
Intuitive, type safe, light and flexible Store for Vue…