Я пытаюсь использовать Mapbox ( https://github.com/mapbox/react-native-mapbox-gl ) с React-Native, React Redux и Flux Navigation.
Я структурировал свое приложение по модульному принципу, где у меня есть один модуль поиска и карты. Он устроен следующим образом:
/modules
/search
/containers
SearchResults.js
/map
/containers
Map.js
В SearchResults.js я получаю 10 результатов, которые отображаются с изображением и текстом. Результаты хранятся в моем магазине Redux. У меня есть 2 кнопки в Map.js и SearchResults.js, которые позволяют перемещаться между двумя контейнерами (вперед и назад с помощью навигации Flux Action.Map() и Action.SearchResults() ).
В Map.js я обновляю состояние карты, чтобы получать долготу и широту из хранилища searchResult. Проблема, с которой я сталкиваюсь прямо сейчас, заключается в том, что возникают серьезные проблемы с производительностью, если я переключаюсь между SearchResults и Map вперед и назад. Это происходит потому, что карта постоянно перерисовывается.
Я пытался найти обходной путь с использованием методов жизненного цикла реакции, но это не помогло. Я думаю, что это бесполезно, потому что я перемещаюсь между двумя модулями.
Каков наилучший способ предотвратить повторную визуализацию Map.js?