Size: a a a

React Native — русскоговорящее сообщество

2020 May 11

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Илья Цымбалюк
ребят, есть два экрана(главня, контакты) , переключение между ними через нижние табы. Так вот, если в контактах оставить консоль лог, И сделать событие для вызова. При первом запуске приложения он не отрабатывает. А вот если зайти на контакты и потом вернуть на главную и нажимать кнопку для вызова этого консоля. Он срабатывает, разве так должно быть? Это же другая страница она никак не должна реагировать а темболее возвращать что-то
Ну ты как бы не уничтожаешь экран после того, как с него ушёл. И он продолжает существовать в "фоне".
источник

ИЦ

Илья Цымбалюк... in React Native — русскоговорящее сообщество
Эдуард Заборовский
Ну ты как бы не уничтожаешь экран после того, как с него ушёл. И он продолжает существовать в "фоне".
как его уничтожить? Эт надо делать в ручную?
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Илья Цымбалюк
как его уничтожить? Эт надо делать в ручную?
Тебе надо найти события "экран открыт" и "экран закрыт", а внутри подписаться/отписаться от своего события.
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Илья Цымбалюк
как его уничтожить? Эт надо делать в ручную?
https://reactnavigation.org/docs/navigation-events/

Тебе нужны focus и blur. В первом ты подписываешься на кнопку, а во втором отписываешься.
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Уничтожать вручную не надо. Достаточно следить "виден" экран или нет.
источник

ИЦ

Илья Цымбалюк... in React Native — русскоговорящее сообщество
сложна(
источник

ИЦ

Илья Цымбалюк... in React Native — русскоговорящее сообщество
спасибо
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Narek
поэтому динамично не можешь поменять значение
Но я ведь делал setBook(book)
Самый прикол, что если вынести статус из объекта Book, то всё заработает =\
React видит, что ссылка одинакова и считает, что стейт не обновился?
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Narek
поэтому динамично не можешь поменять значение
book.downloadingStatus = DownloadStatus.DOWNLOADING;
setBook({...book})

Работает. Но это же тупо Тт
источник
2020 May 12

ИЦ

Илья Цымбалюк... in React Native — русскоговорящее сообщество
Эдуард Заборовский
Уничтожать вручную не надо. Достаточно следить "виден" экран или нет.
а есть пример отключения? Ну типо как работает focus и blur я понял. Но как размонтировать компонент, не нашел такого описание. В гугле представлены какие-то изувеченые способы через кучу проверок
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
А зачем тебе его разминировать вручную?
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Пусть этим занимается навигатор это его работа.
источник

ИЦ

Илья Цымбалюк... in React Native — русскоговорящее сообщество
ну просто разве он не нагружает лишний раз память?
источник

ИЦ

Илья Цымбалюк... in React Native — русскоговорящее сообщество
ну прикинь это сейчас у меня два таба
источник

ИЦ

Илья Цымбалюк... in React Native — русскоговорящее сообщество
если их 50
источник

ИЦ

Илья Цымбалюк... in React Native — русскоговорящее сообщество
и все они будут активные получается
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
А ручное удаление и создание компонентов будет нагружать батарею.
есть у тебя уже будет не хватать памяти, навигатор должен будет удалить сам самый старый компонент.
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
А ты проверял сетевые проблемы? Например, NAT
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
Ну как вариант, сервисы внутри приложения убиваются за ненадобностью.
Тут же вопрос реализации...
Может человек вообще сделал приложение, которое тупо в фоне работает )
источник

ЭЗ

Эдуард Заборовский... in React Native — русскоговорящее сообщество
источник