Реагируйте на компоненты Native Teleport без потери состояния - PullRequest
1 голос
/ 12 июля 2020

Я использую React Native 0.62 с response-native-video .

Мне нужно добавить видеоплеер с опцией полноэкранного режима. Требования, в частности, требуют настраиваемых элементов управления как в обычном, так и в полноэкранном режиме. Собственный полноэкранный режим в IOS не позволяет настраивать элементы управления, поэтому я разработал собственное решение для полноэкранного видео, показывая его внутри модального окна. Здесь проблема начинается ...

При перемещении компонента из нормального представления в полноэкранный режим внутри модального окна он теряет все свои внутренние ссылки и состояние. Мне удалось восстановить большую часть этого (например, прогресс и состояние воспроизведения / паузы), перенеся их за пределы игрока. Однако я все еще теряю кэширование и буферизацию видео, и видео снова перезагружается.

Может ли кто-нибудь предложить способ перемещения компонента в DOM без потери его внутреннего состояния? до сих пор пробовали:

  • Предоставление ключа для компонента
  • UseContext для рендеринга проигрывателя в родительском элементе и использования wrapperComponent для модального окна вокруг него.
  • Посмотрел в портал, но не смог найти возможное решение этой проблемы.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...