web-dev-qa-db-ja.com

mobx-react-liteの「useLocalStore」フックは正確には何をするのですか、なぜ(たまにだけ)必要なのですか?

mobx-react documentation 内では、ストアの作成方法にバリエーションがあります。たとえば、 React Context ページでは:

最初のコードサンプルでは、​​ストアはuseLocalStoreでインスタンス化されています。

  const store = useLocalStore(createStore)

2番目のコードサンプルでは、​​ストアはストアを直接「更新」することで開始されます。

  counterStore: new CounterStore(),
  themeStore: new ThemeStore(),

推論によると、最初は「ローカル」ストアであり(したがって、useLocalStoreが必要です)、2番目は「グローバル」です。保存しません。ただし、これがなぜであるか、およびその後の動作の違いは何であるかは明らかではありません

2番目の例でuseLocalStoreが必要ないのはなぜですか?これは、React内のストアとmobxの動作にどのような違いがありますか?

ご意見ありがとうございます

4
arhnee

はい、私は答えを見つけました。 useLocalStoreは、JavaScriptリテラルを監視可能なプロパティを持つストアに変換します。監視可能な属性を持つクラスオブジェクトからストアが作成される場合、これは必要ありません。

答え について@freddycに感謝

2
arhnee