Open10
Vueのstateを学ぶメモ

- global stateはComponentそれぞれでimportしても共通の値を持つ(シングルトン?)
- local stateはComponentそれぞれでimportすると別々の値になる

local stateは納得できるが(Composablesが同じような動作になる)、global stateは謎

- ComponentAが先にstate.jsをimportする→reactiveが実行される
- ComponentBがstate.jsをimportする→おそらく裏側にweakmapにstateが用意されているので、それを返しているんだと思うが、どうやって返しているのか謎

ChatGPTに聞いてみた
JavaScriptモジュール(ESモジュール)は、インポートされるとそのファイル全体が一度だけ評価(実行)されます。そしてその結果(エクスポートされるもの)はキャッシュされ、同じモジュールを再度インポートしても、新たに評価されることはありません。これにより、同じモジュールを複数の場所でインポートしても、すべての場所で同じエクスポート(同じオブジェクトや関数など)が得られます。

なるほど?

vueにはさらにprovide/injectがある

vueuseに結構State関連の関数(?)がある

effectScopeでハマるなどしている

Componentの外でリアクティブを使いたいとはどういう用途だ