Size: a a a

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

2020 August 29

DB

Denis Barvitskiy in React Native — русскоговорящее сообщество
Paul
Ребят, может подскажете: у меня есть главный экран. При клике должен открываться новый экран, на нем тоже много элементов, по которым можно кликать и переходить на другие экраны, и так бесконечно.

Надо сделать так, чтобы при свайпе назад возвращаться на предыдущий экран, и так по порядку до самого главного экрана. Каким образом это сделать? Вручную не вариант, может как-то динамически можно генерировать

Данные для каждого нового экрана приходят из базы на основании элемента, по которому кликаешь
Каким роутером пользуетесь?
источник

P

Paul in React Native — русскоговорящее сообщество
Просто react navigation
источник

DB

Denis Barvitskiy in React Native — русскоговорящее сообщество
Paul
Просто react navigation
И вы не знаете про navigation.goBack()?
источник

A

Aleksandr in React Native — русскоговорящее сообщество
Всем привет. Нужна помощь, при вёрстке на react native на айфон нужно делать свайпы, которые есть в каждом приложении почти. Отсюда два вопроса:
1. Как это делать?
2. И нуждается ли это в огласке во время разработки или на вложенностях всегда делать эти свайпы?
источник

P

Paul in React Native — русскоговорящее сообщество
Denis Barvitskiy
И вы не знаете про navigation.goBack()?
Назад я возвращаюсь, но на первый экран
источник

J

Jasur in React Native — русскоговорящее сообщество
Paul
Назад я возвращаюсь, но на первый экран
Используйте navigation.navigate и укажите предыдущий название экрана
источник

fd

fed dot in React Native — русскоговорящее сообщество
Paul
Ребят, может подскажете: у меня есть главный экран. При клике должен открываться новый экран, на нем тоже много элементов, по которым можно кликать и переходить на другие экраны, и так бесконечно.

Надо сделать так, чтобы при свайпе назад возвращаться на предыдущий экран, и так по порядку до самого главного экрана. Каким образом это сделать? Вручную не вариант, может как-то динамически можно генерировать

Данные для каждого нового экрана приходят из базы на основании элемента, по которому кликаешь
Использовать навигатор здесь плохая идея
источник

P

Paul in React Native — русскоговорящее сообщество
Jasur
Используйте navigation.navigate и укажите предыдущий название экрана
У меня всего несколько экранов, но в приложении выглядит так, будто это все разные экраны. Я же не могу создать 100 экранов, на случай, если будет 100 переходов
источник

P

Paul in React Native — русскоговорящее сообщество
fed dot
Использовать навигатор здесь плохая идея
А что вместо него?
источник

fd

fed dot in React Native — русскоговорящее сообщество
Paul
А что вместо него?
Сделайте один скрин который будет все рендерить. Пусть принимает данные из базы, ссылку на следующий элемент и ссылку на предыдущий. И отображает все что нужно.
источник

B

Bulat in React Native — русскоговорящее сообщество
я так понимаю вам нужно 1 и тот же экран открывать, но с другими данными, как. хленбные крошки, можете юзать push(screenName, {key: someKey) и тогда для навигации это будет новый экран
источник

А

А В in React Native — русскоговорящее сообщество
на втором экране можно использовать navigation.replace
источник

P

Paul in React Native — русскоговорящее сообщество
Bulat
я так понимаю вам нужно 1 и тот же экран открывать, но с другими данными, как. хленбные крошки, можете юзать push(screenName, {key: someKey) и тогда для навигации это будет новый экран
Да
источник

B

Bulat in React Native — русскоговорящее сообщество
это называется dynamic stack, как я знаю, лично я использовал для хлебных крошек, просто передавайте к примеру id продуктв в качестве ключа для навигации, ну или любой другой уникальный id, и у вас экран будет по навигации каждый раз новым, но юзать вы будете 1 скрин, просто будете менять контент
источник

P

Paul in React Native — русскоговорящее сообщество
И тогда я смогу возвращаться на "предыдущий" экран?
источник

B

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

P

Paul in React Native — русскоговорящее сообщество
Спасибо большое

И ещё вопрос с данными: я при клике беру данные элемента, передаю в запрос и получаю респонс, после чего отрисовываю их на "новом" экране. Сами данные я добавляю в редакс. Когда я перехожу на "новый" экран, данные перезаписываются. Как мне можно хранить данные, чтобы можно было их отрисовать при возврате?
источник

P

Paul in React Native — русскоговорящее сообщество
Пока писал, сам подумал: может мне как-то записывать в редакс переданные параметры, а при возврате в обратном порядке считывать их и передавать в запрос?
источник

DB

Denis Barvitskiy in React Native — русскоговорящее сообщество
Paul
Пока писал, сам подумал: может мне как-то записывать в редакс переданные параметры, а при возврате в обратном порядке считывать их и передавать в запрос?
Храните в массиве, индекс используйте в качестве шага
источник

P

Paul in React Native — русскоговорящее сообщество
Огромное спасибо
источник