Я совершенно новичок в реагировании и реагировании. Так что прошу простить меня за возможно глупый вопрос.
Я использую редукцию с react-native-router-flux.
Прежде всего, позвольте мне описать поведение, которое я хочу.
У меня есть сцена, которая показывает некоторую информацию о видео. Данные берутся со страницы http. В видео есть ссылки на другие видео - что-то вроде "похожих видео". Нажав ссылку на связанное видео, мне нужно открыть новую аналогичную сцену, но с информацией об этом новом видео. У этого видео тоже есть родственники и так далее.
Так вот что я пытаюсь.
Есть одна сцена с ключом = фильм. Он отображает всю информацию о видео. Информация берется с удаленного сервера. При загрузке он использует this.props.key для идентификации страницы с видео. При щелчке связанного видео я вызываю Action.film({key: NEW_VIDEO_KEY})
, и открывается новая сцена, берутся новые данные из выборки и показывается новая информация о видео. И так далее. Я делаю это 5 раз, например. Так было открыто 6 сцен (с первой). Но после нажатия кнопки НАЗАД все предыдущие сцены показывают ту же информацию, что и последняя. Я думаю, это из-за того, что react-router-flux не запоминает данные сцен, а только маршрут. Каждая открытая сцена была изменена реквизитом, поэтому после последней сцены она имеет последний реквизит.
Я не понимаю, как реализовать нужное поведение, как я описал в начале.
Может быть, мне нужно добавить что-то вроде объекта истории в состояние, и после каждой открытой сцены вставлять в него видеообъект, а на поп-сцене выталкивать последний видеообъект из объекта истории... И возвращать предыдущий объект в предыдущую сцену с помощью Action.pop({video: VIDEO_OBJECT})
... Но если я показываю связанные видео в списке, мне нужно сохранить положение прокрутки каждой сцены (( А как насчет аппаратной кнопки «Назад»...
Может я что-то не так понимаю и есть более сложный и простой способ...
redux
очень опасно. Вам нужна причина, чтобы использоватьredux
, не используйте ее просто так. Специально для новичка нужно изучить все остальное. Я рекомендую вам просто использовать реакцию, а затем добавить в редуксе. Кроме того, вы новичок, поэтому вы, вероятно, не знаете, ноreact-native-router-flux
не подходит, особенно для новичков. Этоreact-navigation
. Это очень просто проверить — reactnavigation.org — вы можете настроить свой маршрут, просто скопировав его страница. - person Noitidart   schedule 29.05.2017<Scene key="film" component={Film} hideNavBar />
- person Сергей Сергеев   schedule 30.05.2017