нужно реализовать какое-то поведение маршрута, но не знаю, как

Я совершенно новичок в реагировании и реагировании. Так что прошу простить меня за возможно глупый вопрос.

Я использую редукцию с react-native-router-flux.

Прежде всего, позвольте мне описать поведение, которое я хочу.

У меня есть сцена, которая показывает некоторую информацию о видео. Данные берутся со страницы http. В видео есть ссылки на другие видео - что-то вроде "похожих видео". Нажав ссылку на связанное видео, мне нужно открыть новую аналогичную сцену, но с информацией об этом новом видео. У этого видео тоже есть родственники и так далее.

Так вот что я пытаюсь.

Есть одна сцена с ключом = фильм. Он отображает всю информацию о видео. Информация берется с удаленного сервера. При загрузке он использует this.props.key для идентификации страницы с видео. При щелчке связанного видео я вызываю Action.film({key: NEW_VIDEO_KEY}), и открывается новая сцена, берутся новые данные из выборки и показывается новая информация о видео. И так далее. Я делаю это 5 раз, например. Так было открыто 6 сцен (с первой). Но после нажатия кнопки НАЗАД все предыдущие сцены показывают ту же информацию, что и последняя. Я думаю, это из-за того, что react-router-flux не запоминает данные сцен, а только маршрут. Каждая открытая сцена была изменена реквизитом, поэтому после последней сцены она имеет последний реквизит.

Я не понимаю, как реализовать нужное поведение, как я описал в начале.

Может быть, мне нужно добавить что-то вроде объекта истории в состояние, и после каждой открытой сцены вставлять в него видеообъект, а на поп-сцене выталкивать последний видеообъект из объекта истории... И возвращать предыдущий объект в предыдущую сцену с помощью Action.pop({video: VIDEO_OBJECT}) ... Но если я показываю связанные видео в списке, мне нужно сохранить положение прокрутки каждой сцены (( А как насчет аппаратной кнопки «Назад»...

Может я что-то не так понимаю и есть более сложный и простой способ...


person Сергей Сергеев    schedule 29.05.2017    source источник
comment
Если вы полный новичок, начинать с redux очень опасно. Вам нужна причина, чтобы использовать redux, не используйте ее просто так. Специально для новичка нужно изучить все остальное. Я рекомендую вам просто использовать реакцию, а затем добавить в редуксе. Кроме того, вы новичок, поэтому вы, вероятно, не знаете, но react-native-router-flux не подходит, особенно для новичков. Это react-navigation. Это очень просто проверить — reactnavigation.org — вы можете настроить свой маршрут, просто скопировав его страница.   -  person Noitidart    schedule 29.05.2017
comment
Я думаю, очень неудобно использовать реакцию без редукции.   -  person Сергей Сергеев    schedule 30.05.2017
comment
Как новичок, если вы чувствуете, что можете это сделать, дерзайте.   -  person Noitidart    schedule 30.05.2017
comment
Спасибо за Ваш ответ. Я написал несколько приложений без него. Писать код с помощью редукса удобнее. И я думаю, что использование реактивной навигации не решает проблему. Проблема в том, что только что открытая сцена изменяет свой реквизит, но когда эта сцена всплывает, реквизиты предыдущей сцены, которая показывается после всплывания, тоже изменяются. Потому что на самом деле это ОДНА сцена с ОДНИМ компонентом. <Scene key="film" component={Film} hideNavBar />   -  person Сергей Сергеев    schedule 30.05.2017


Ответы (1)


В порядке. Я нашел проблему. проблема была в моем непонимании того, как все работает вместе. Теперь работает как надо.

person Сергей Сергеев    schedule 30.05.2017