Unstated.js доступ к контейнеру в другом контейнере

Я только начал изучать неустановленное и столкнулся с проблемой, на которую пока не могу найти ответ.

Предположим, у меня есть два контейнера:

  • ContainerA
  • ContainerB

Что мне делать, если я хотел получить доступ к состоянию ContainerB в ContainerA или даже вызвать метод ContainerB в ContainerA?

Единственный способ, который я пока вижу, - это вызвать метод ContainerA и передать экземпляр ContainerB вручную в качестве отдельного аргумента, который кажется очень плохим и повторяющимся, учитывая, что мне может потребоваться сделать то же самое в нескольких местах...

1 ответ

Посмотрите на неустановленные документы по внедрению зависимости. Это позволяет вам создавать экземпляры ваших контейнеров, прежде чем добавлять их к вашему провайдеру. Таким образом, вы можете соединить ваши контейнеры так, как вам нравится. Выглядит вполне законно?

const containerA = new ContainerA();
const containerB = new ContainerB({ containerA });

render(
  <Provider inject={[containerA, containerB]}>
    <App />
  </Provider>
);
Другие вопросы по тегам