Каковы преимущества использования Redux для управления состоянием навигации? - PullRequest
0 голосов
/ 04 октября 2019

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

, навигация по экранам выглядит более болезненно:

navigate = () => {
  const navigateScreens = NavigationActions.navigate({
    routeName: "OtherScreen",
    params: {someProperty: "someValue"}
  })
  this.props.navigation.dispatch(navigateScreens);
}:

вместо просто реакции-навигации:

this.props.navigation.navigate("OtherScreen")

В документах ReactNavigation конкретно сказано: «Могу ли я также сохранить состояние навигации в Redux? Это технически возможно, но мы не рекомендуем его - слишком легко выстрелить себе в ногу и замедлить ход»/ сломать ваше приложение. Мы рекомендуем вам оставить React Navigation для управления состоянием навигации. "

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

Ответы [ 2 ]

2 голосов
/ 04 октября 2019

Это, вероятно, не стоит реализовывать только для управления только маршрутами. Если у вас много глобальных данных и большое дерево компонентов, установка Redux того стоит. Однако если вы просто пытаетесь управлять одной или даже несколькими точками данных, вам, вероятно, лучше использовать более простую стратегию передачи пропусков вручную через дерево.

0 голосов
/ 04 октября 2019

Помимо ведения истории записи или функции кнопки «назад» для Android сохранение состояния навигации в режиме редукции бесполезно!

Кроме того, если вы хотите знать экраны, на которых были пользователи, и с какого экрана происходила навигация, выможно использовать состояние навигации приставки.

...