Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

compositionAPI ストアのプロバイドとインジェクション

より明確にストアの書き方がわかったので書いておく。

キーを何か用意

const StoreSymbol = Symbol()

親のstoreをもっているものがprovideする。

// sotreを持っている側がprovideする。
export function provideStore(store) {
  provide(StoreSymbol, store)
}

子はインジェクトで取り出す。

export function useStore() {
  const store = inject(StoreSymbol)
  if (!store) {
    // throw error, no store provided
  }
  return store
}

ストアと言っているものは単なるオブジェクト(をreactive関数によって包んだもの)

しかし、これは便利な反面、皮を被ったシングルトンともいえなくない‥。