aneira correta de criar várias lojas com mobx e injetá-lo em um componente - ReactJs

Como sugerido aqui no Mobxdocumentaçã Criei várias lojas da seguinte maneira:

class bankAccountStore {
  constructor(rootStore){
    this.rootStore = rootStore;
  }
...

class authStore {
  constructor(rootStore){
    this.rootStore = rootStore;
  }
...

E finalmente criar uma loja raiz da seguinte maneira. Além dissoEu prefir para construir lojas secundárias no construtor master. Além disso, descobri que, às vezes, meu repositório filho precisa observar alguns dados do repositório pai, então passo isso para construtores filhos

class RootStore {
  constructor() {
    this.bankAccountStore = new bankAccountStore(this);
    this.authStore = new authStore(this);
  }
}

Fornecendo ao aplicativo da seguinte maneira:

<Provider rootStore={new RootStore()}>
  <App />
</Provider>

And injetando no componente assim:

@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;
  }
}

É a maneira correta e eficiente de injetar o armazenamento raiz todas as vezes no componente, mesmo que ele precise de uma parte do armazenamento raiz? Caso contrário, como injetar o Auth Store no componente de usuário?

questionAnswers(1)

yourAnswerToTheQuestion