了解です!

ではそのまま続けて 第3章 3.3 型付きuseStoreの作り方(コンポーザル関数useCounterStore.tsの設計) に入ります。


第3章 3.3 型付きuseStoreの作り方(コンポーザル関数 useCounterStore.ts の設計)

ここでは、

Vuex の

store.state.count
store.commit('increment')

毎回生で書くのではなく、関数でラップする ことで、

できる コンポーザル関数 を作ります。


🎉 【作る目的】

なぜ必要? 説明
'increment' のtypo防止 毎回文字列を書かず、関数名で呼び出す
型安全 state, mutation, action の型が補完される
コードがスッキリ 各コンポーネントが簡単に Vuex を使える
再利用性UP どの画面でも同じ関数を使い回せる

【ストアのおさらい(変換前のstore/index.ts)】

export interface State {
  count: number;
}

export default new Vuex.Store<State>({
  state: {
    count: 0,
  },
  mutations: {
    increment(state) {
      state.count += 1;
    },
  },
  actions: {
    increment({ commit }) {
      commit('increment');
    },
  },
});


【useCounterStore.ts の実装】