React Native: Какой навигатор я должен использовать?

Я должен построить относительно большое кросс-платформенное приложение (iOS и Android) в течение 3 месяцев.

Пока что дело касается React Native, у меня есть опыт работы с NavigatorIOS . Теперь, когда я никогда не сталкивался с какими-либо проблемами, я никогда не видел, чтобы люди рекомендовали его использовать.

Другие варианты – Navigator , который кажется достаточно простым, но, возможно, не позволяет поддерживать собственный собственный интерфейс. И NavigatorExperimental котором я ничего не знаю, и только мое имя беспокоит меня. Я не хочу, чтобы у меня были последние кошмары.

Я планирую потратить месяц на изучение React Native, а затем 2 месяца на создание приложения.

Это приводит меня к моему вопросу: если вам нужно было создать кросс-платформенное приложение в React Native, какую навигацию вы бы использовали для каждой платформы и почему?

Любые ответы или советы очень ценятся.

Solutions Collecting From Web of "React Native: Какой навигатор я должен использовать?"

Отвечая на мой собственный вопрос, поскольку я провел довольно много исследований по различным вариантам там, и попробовал все основные из себя. Я продолжу этот ответ.

Новое редактирование: TLDR: На сегодняшний день (13/01/2017) я все же предлагаю React Native Router Flux . С экс-навигацией , Exponent является отличной альтернативой.

Я использую RNRF для своего проекта, и это было прекрасно до сих пор. Превосходная настройка navbar & stack (что было для меня большой вещью) и легко интегрируется с другими пакетами.


Более длинная версия:

Навигатор : этого следует избегать. Не вдаваясь в подробности, почему, тот факт, что Facebook сбросил его и больше не поддерживает его, для меня – достаточно большая причина выбрать другую навигацию.

NavigatorIOS : Как указано в названии, доступно только в IOS, что не очень удобно, если вы собираетесь использовать кросс-платформенное приложение. Есть пара различий, когда дело доходит до укладки, которое для меня превосходит все «учиться один раз, писать где угодно», что FB собирается. С учетом сказанного, если навигационная система вашего приложения iOS не слишком сложна, и вы не ищете слишком много настроек навигация, это довольно хороший выбор, который использует встроенную навигацию по UIKit, поэтому автоматически отобразит панель навигации с кнопкой «Назад» и заглавие.

НавигацияЭкспериментальный : не пугайтесь его имени, как я. NavigationExperimental имеет большой контроль над стеком навигации и позволяет значительно упростить управление состоянием. Исключая сторонние библиотеки, нужно перейти к опции навигации.

Экс-навигация : я просто процитирую Эрика Висенти из Facebook, который находится в команде React Native:

Если вас интересует более императивный подход, когда вы можете сортировать вызовы метода make для навигации по всему вашему приложению таким же образом, как и предыдущий Navigator, я бы определенно рекомендовал ExNavigation. Мы работаем относительно близко с Экспонентом, чтобы эти вещи не расходились в опасных ситуациях.

React Router Native : Документы говорят все. Все, что я могу сказать, это если вы привыкли к React Router, это может быть для вас.


Следите за новостями: Реагируйте на виртуальную навигацию по WIX . Выглядит очень прилично, но я не дал ему уйти, учитывая тот факт, что он немного отстает от последней версии реакции родной (при написании этого ответа).


Интересный RN Nav читает:

React Native – Какой навигатор я должен использовать?

Первый взгляд: Реакция на естественный навигатор Экспериментальная часть 1

Вы можете использовать Ex-Navigation, которая построена поверх NavigationExperimental и поддерживает как iOS, так и Android. Кроме того, у него есть навигационная система маршрута и правильная поддержка кнопки Android назад.

Если вы хотите использовать компонент JavaScript Navigator , я создал react-native-navigator-wrapper которая представляет собой простую оболочку вокруг API-интерфейса Navigator которая поддерживает самые распространенные шаблоны навигации, такие как push, pop и modals.

Я использую action-native-router-flux, и он очень гибкий. Вы можете проверить это.

React Navigation , новый проект на этой территории. Лично я нахожу это лучше, чем React Native Router Flux, который больше не упоминается.

React Navigation имеет много хороших функций с соответствующей документацией. Популярность быстро растет. AFAIK, ребята, разработчики сообщества разработчиков за этим проектом. Проверьте это, вам, вероятно, понравится.

Библиотеки RN выходят каждый день. В подобной ситуации, подобной вам в наши дни, мой выбор придает роутер-поток для простоты, пока собственная библиотека wix не начнет поддерживать более новые версии RN. (Насколько я помню, есть недостатки в вопросах, связанных с участием разных людей, поэтому они довольно активны) .RN – это компоненты, на основе которых легко внедрять изменения. Так что не зацикливайтесь, как будто у вас есть определенный выбор сейчас 🙂

Я только использовал React Router Native и никогда не испытывал никаких проблем.

Существует новый проект React Navigation для простых в использовании навигаторов. Facebook, Exponent и сообщество React находятся за проектом.