Мульти-соединение с Redux с реагированием-навигацией - PullRequest
0 голосов
/ 27 октября 2019

Представьте себе, что в приложении Reaction-native много данных, которые должны быть обработаны и распределены между несколькими компонентами. Как было исследовано (мной), реагировать-навигация не будет размонтировать старые слои, поэтому, если какой-либо старый слой был подписан на redux , он останется подписанным, поэтому у меня будет много подписок на перевождь . Будут ли какие-то проблемы с производительностью, или я что-то не так, может быть, есть какие-то способы исправить это.

Может кто-нибудь дать какие-нибудь советы?

1 Ответ

1 голос
/ 27 октября 2019

Я считаю, что под слоями вы подразумеваете экраны в StackNavigator - да, они не отключаются, когда вы открываете другой экран поверх текущего. Конечно, он будет размонтирован, когда вы вернетесь к нему. Сама подписка на redux не вызовет проблем с производительностью, вы можете без проблем подписаться на сотни компонентов одновременно. Что может вызвать проблемы с производительностью, это то, как вы обрабатываете редукционные подписки - например, перезагрузка изображений, отправка запросов при смене реквизита или дорогостоящий рендеринг. Это зависит от вас, как от разработчика, и обычно в правильно спроектированных приложениях основные экраны не зависят от изменения состояния, вызванного экранами, открытыми поверх них.

Если вы все еще хотите поиграть с ним- взгляните на navigation.isFocused () . Вы можете сделать HOC , чтобы обернуть свои экраны и размонтировать экран, если он не в фокусе навигации, но это, вероятно, не будет стоить

...