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>
);