У меня есть внешний компонент (Leaflet Map). У этого компонента много дочерних элементов. Приложение рисует разные вещи на карте в зависимости от состояния, маршрутов и т.д. Использование листовка (или просто карты) компоненты, такие как Контуры, маркеры и т.д. требует от меня непосредственно оказывать им внутри EM> карта, поэтому контекст доступен (маркер вызывает экземпляр карты при монтировании и т. д.).
Однако, это становится не ремонтопригоден кодом, так как моя карта огромна с большим количеством условно оказываемыми детей (если маршрут А, затем делает компонент X и Y).
Я хочу найти способ отображать детей в нужных местах, связанных с их доменами (карта - это просто контейнер, в который я ввожу). Но они требуют контекста. Я пытался выяснить это с Порталами, но он не работает, так как Реагировать делают ребенок вне EM> контекст и только проекты оказали DOM внутри.
Так что мне нужно что-то вроде этого: портал компонент, который установлен внутри карты все время и как-то EM> получает все контекст может получить доступ и как-то EM> впрыскивает его в проектируемой компонента.
Конечно, он не должен быть РЕАКТ портал EM>, но я хочу API выглядеть следующим образом:
<SomeDomainComponent>
<MapPortal>
<Marker position={[50, 20]} />
</MapPortal>
</SomeDomainComponent>
и он построит такое дерево:
<LeafletMap>
<Marker position={[50, 20]} />
</LeafletMap>
Как этого добиться?
Я думал о своем собственном контексте, но я не могу сериализации Реагировать компонент в значении контекста, верно?