Dans la documentation mobx-react , il existe des variantes dans la façon dont les magasins sont créés. Par exemple, sur la page React Context :
Dans le premier exemple de code, le magasin est instancié avec useLocalStore:
const store = useLocalStore(createStore)
Dans le deuxième exemple de code, les magasins sont lancés en "ajoutant" directement les magasins ":
counterStore: new CounterStore(),
themeStore: new ThemeStore(),
Par déduction, le premier est un magasin "local" (et nécessite donc useLocalStore), et le second est un magasin "global" et donc ne le fait pas . Cependant, on ne sait pas pourquoi et quelle est la différence de comportement qui en résulte .
Pourquoi useLocalStore
n'est-il pas nécessaire dans le deuxième exemple, et quelle différence cela fait-il sur le comportement des stores et de mobx dans React?
Merci pour toute contribution
OK, j'ai trouvé la réponse. useLocalStore
transforme un littéral javascript en un magasin avec des propriétés observables. Cela n'est pas nécessaire si un magasin est créé à partir d'un objet de classe avec des attributs observables.
Merci à @freddyc pour la réponse