Me preguntaba cómo puedo usar un observable de una tienda dentro de otra clase de tienda, por ejemplo, usar userStore dentro de mapStore.
Ahora les mostraré cómo inicio las tiendas y las uso en mis componentes funcionales:
/contextos/index.js
import React from 'react' import { configure } from 'mobx'; import { UserStore } from '../stores/UserStore.js' import { MapStore } from '../stores/MapStore.js' export const storesContext = React.createContext({ userStore: new UserStore(), mapStore: new MapStore(), }); configure({ enforceActions: "observed" });
/ganchos/uso-tiendas.js
//hooks/use-stores.js import React from 'react' import { storesContext } from '../contexts/index.js' export const useStores = () => React.useContext(storesContext);
Dentro de mis componentes funcionales accedo así:
import { useStores } from '@hooks/use-stores'; ... const { mapStore,userStore } = useStores();
Una clase de ejemplo, UserStore
export class UserStore { constructor() { makeAutoObservable(this); user = false; }