Изменяемый объект внутри хранилища React / Redux (карта-оболочка)? - PullRequest
0 голосов
/ 16 мая 2018

Можно ли хранить изменяемый объект в магазине приставок?

Я пытаюсь создать оболочку для внешней библиотеки mapbox в моем приложении. Я создаю объект карты, используя библиотеку:

Компонент - Карта

import * as MapboxGl from 'mapbox-gl'
.......
componentDidMount() {
  this.mapObject = new MapboxGl.Map({
      container: this.MapContainer
      style: 'mapbox://styles/mapbox/light-v9',
   })
}
.......

Далее мне нужно передать mapObject дочерним компонентам. Состав компонентов:

<App>
........
  <Map>
    <Source>
      <Layer />
      <Layer />
    </Source>
  </Map>
.......
</App>  
  1. Как я могу передать mapObject дочерним компонентам (Source / Laer) (могу ли я сохранить этот объект в хранилище или использовать реактив контекст и сохранить данные для mapObject в магазине-редуксе)?
  2. Можете поделиться ссылкой на полноценный проект (giths) для работы с карты, где реализована вышеуказанная ситуация?

1 Ответ

0 голосов
/ 16 мая 2018

Уже ответил на это в проблеме Redux, которую вы подали, но я отвечу на это здесь также для наглядности:

Я бы сказал, что это проблема уровня представления, так что ее не следует хранить вХранение Redux на нескольких уровнях.

В нашем собственном приложении мы используем библиотеку 3D-глобусов Cesium, а также должны передавать ссылки на объекты, связанные с картой, такие как класс Cesium в Cesium.В нашем приложении мы делаем это явно, передавая значения как реквизиты, но новый React Context API, который доступен в React 16.3, также будет хорошим выбором.

Возможно, вы захотите прочитать мои сообщения на рендеринг цезиевого 3D-шара с использованием React , который демонстрирует этот подход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...