В чем разница между Navigator & Компоненты ViewPagerAndroid в React-Native? А когда их использовать? Кажется, что оба могут использоваться для навигации между различными экранами приложения.Navigator Vs ViewPagerAndroid
ответ
Важно понимать, что React Native не является решением «написать один раз, работать где угодно». Таким образом, он включает в себя модули, специфичные для платформы, и просто перенос компонента, доступного на iOS/Android.
Один из таких компонентов - ViewPagerAndroid. Это просто обертывает компонент «ViewPager» Android и обеспечивает аналогичную функциональность с использованием ViewPager. Этот компонент следует использовать, если у вас есть карусельного типа макет, в котором несколько представлений располагаются горизонтально, и вы хотите анимировать между ними: http://i.stack.imgur.com/kPOic.png
Navigator является компонентом кросс-платформа, которая позволяет переключать что в настоящее время отображается на экране легко. Навигатор не имеет понятия иерархии или порядка (в отличие от ViewPagerAndroid), и вы можете переключиться на любой другой вид в любое время.
ViewPagerAndroid - более прочный компонент для табуляции. Если вы используете его больше, вы обнаружите, что в некоторых случаях это может быть ограничением.
Навигатор позволяет вам перемещаться по экрану/страницам и с экрана и отслеживать их в стеке. Навигатор здесь более универсален с точки зрения transitions between scenes. Он также отлично работает с кнопкой назад на андроидах.
Например, скажем, что у вас есть нижняя навигационная панель «Поиск», «Поиск» и «Профиль», но в окне «Профиль» вы также должны иметь вкладки «Фид», «Следовать» и «Последователи». В этой настройке вам понадобятся две компоненты ViewPagerAndroid, ведь это невозможно.
Это также было бы плохой практикой UX, потому что пользователь мог бы пронестись между последователями и последователями, но внезапно удалился бы от профиля к поиску.
Pro tip: С другой стороны, компоненты Navigator можно комбинировать друг с другом. Это то, что я не знал изначально и с этим боролся. В моих приложениях обычно есть два компонента Navigator. Один для обработки вкладок между моими основными сценами (например, Discover, Search и Profile), которые загружаются в TabNavigator при запуске. Я перемещаюсь между ними с помощью jumpTo и настраиваемого перехода менее configureScene.
configureScene(route, routeStack) { //- this all is a hacky way to make no transitions
var NoTransition = {
opacity: {
value: 1.0,
type: "constant",
},
};
return {
...Navigator.SceneConfigs.FadeAndroid,
gestures: null,
defaultTransitionVelocity: 1000,
animationInterpolators: {
into: buildStyleInterpolator(NoTransition),
out: buildStyleInterpolator(NoTransition),
},
};
}
Таким образом, пользователь может переключаться между основными сценами и прогрессом/изменениями в каждой сцене, не теряется (например, прокрутка вниз списка) так же, как ViewPagerAndroid. Затем у меня есть другой MainNavigator, который я использую для навигации по нажатию и поцелую отдельных сцен, таких как Single (отображение какого-либо контента из списка). Первой или начальной сценой MainNavigator является TabNavigator.
- 1. viewstack vs. tab navigator
- 2. React Native ViewPagerAndroid error
- 3. Solution Explorer vs Solution Navigator vs Class View
- 4. React Native: Создание вертикального ViewPagerAndroid
- 5. RefreshControl «красть» подвинуть жест из ViewPagerAndroid
- 6. ViewPagerAndroid как компонент iOS в реакции родной
- 7. ons-navigator на дополнительной странице, загруженной ons-navigator
- 8. React-Native Navigator: не удается добавить компонент с помощью Navigator
- 9. ons-navigator Несколько Navigator в одном шаблоне страницы
- 10. Прекратить Air Navigator Просмотров
- 11. Navigator обратно реагирует родную
- 12. Xcode Navigator Тип управления
- 13. Объект javascript delete navigator
- 14. Javascript Navigator OSCPU Undefined
- 15. Flex: View Stack Navigator
- 16. Anaconda navigator VERY slow
- 17. Not Remove Navigation Navigator:
- 18. Flex 4.6 TabbedViewNavigatorApplication navigator
- 19. Использование шаблона Navigator
- 20. Конфигурация IBM Content Navigator
- 21. React Native Navigator route
- 22. Flex Datagrid + Tab Navigator
- 23. Внедрение JBehave Navigator
- 24. Onsen UI navigator
- 25. Jssor Slider Navigator Transition
- 26. Phonegap issue navigator undefined
- 27. ANDROID NAVIGATOR GEOLOCATION
- 28. Eclipse Common Navigator Framework
- 29. Получение "?" в Project Navigator
- 30. Cloudera Navigator Оценка производительности
и навигатор более настраиваемый через javascript. – everlasto