了解です!
では 第1章 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 に書き換え | prop と emit の変換に慣れる |
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章 2.1「子コンポーネントのprops定義をdefineProps
に書き換える」 にいきますか?