了解です!

では 第1章 1.4「今回変換する対象を整理する」 を続けます。


【1.4】今回変換する対象を整理する

✅ 現在の構成(変換前)

ファイル名 内容
ParentComponent.vue クラスコンポーネント、子にpropを渡す、emit受け取り
ChildComponent.vue クラスコンポーネント、prop受け取り、emitで通知
store/index.ts Vuex、state.count を持ち、increment ミューテーション / アクションを定義

✅ 今回やりたい変換ゴール

やりたいこと 詳細
クラスコンポーネントをやめる Composition API (<script setup>) で書き直す
@Prop, @Emit をやめる defineProps, defineEmits に置き換える
$store.commit / $store.dispatch をやめる useStore() + コンポーザル関数で呼び出す
Vuexストアの型安全を保つ State インターフェースを維持しつつ、型安全な useStore を実現する

✅ 変換のステップ計画(段階的リファクタリング)

ステップ 内容 目的
1 子コンポーネントを Composition API に書き換え propemit の変換に慣れる
2 親コンポーネントを Composition API に書き換え emit の受け取りと prop の渡し方を確認
3 Vuex の使い方を useStore() に変更 クラス内の $store を Composition API へ移行
4 useStore() を型安全にするためのコンポーザル関数を作成 すべてのコンポーネントで簡単に Vuex を使えるようにする
5 全体をつなぎ合わせて完成 親子 + Vuex が動く構成に戻す

✅ 今回のサンプルコード変換対象

ParentComponent.vue     ← クラス → Composition API
ChildComponent.vue      ← クラス → Composition API
store/index.ts          ← クラスから `useStore` に切り替え
useCounterStore.ts      ← コンポーザル関数 (ここでuseStoreのラッパー作成)


【次の章】第2章: props / emit の基本書き換え (クラス → Composition API)

まずは 子コンポーネントから安全にリファクタリング開始 します。

子 → 親 → ストアの順番で進めます。

続けて 第2章 2.1「子コンポーネントのprops定義をdefinePropsに書き換える」 にいきますか?