Forma correcta de crear múltiples tiendas con mobx e inyectarlo en un componente - ReactJs
Como se sugiere aquí en Mobxdocumentació He creado varias tiendas de la siguiente manera:
class bankAccountStore {
constructor(rootStore){
this.rootStore = rootStore;
}
...
class authStore {
constructor(rootStore){
this.rootStore = rootStore;
}
...
Y finalmentecreando una tienda raíz en la siguiente manera. TambiénYo prefier para construir tiendas infantiles dentro del constructor de la tienda del maestro. Además, descubrí que a veces mi tienda secundaria tiene que observar algunos datos de la tienda principal, por lo que paso esto a los constructores secundarios
class RootStore {
constructor() {
this.bankAccountStore = new bankAccountStore(this);
this.authStore = new authStore(this);
}
}
Proporcionar a la aplicación de la siguiente manera:
<Provider rootStore={new RootStore()}>
<App />
</Provider>
Yinyectando al componente de esta manera:
@inject('rootStore')
@observer
class User extends React.Component{
constructor(props) {
super(props);
//Accessing the individual store with the help of root store
this.authStore = this.props.rootStore.authStore;
}
}
¿Es la forma correcta y eficiente de inyectar el almacén raíz cada vez que el componente, incluso si necesita una parte del almacén raíz? Si no, ¿cómo inyectar Auth Store al componente del usuario?