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

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

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

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

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

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

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

Ответы

Ответ 1

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

НОВЫЙ РЕДАКТ: На сегодняшний день (01/10/2017) предлагаю использовать React Navigation. Это решение сообщества больше всего подталкивается Facebook и очень легко встает и уходит.

Если это не для вас, другая альтернатива - react-native-navigation через wix.

Следите за native-nagivation от airbnb. Некоторое время они были в режиме бета-тестирования, и в проект не так много было добавлено, поэтому я по-прежнему предлагаю React Navigation для prod. (edit: avoid - этот проект был отброшен. После нескольких лет переключения навигаторов мне интересно, будет ли когда-нибудь окончательное решение для RN ​​nav. 😒)



оригинальное сообщение ниже:

TL;DR: На сегодняшний день (13/01/2017) я все же предлагаю Реальный поток маршрутизатора. С Ex-Navigation, Exponent отличная альтернатива.

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


Более длинная версия: (сейчас редактирование: устаревшее)

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

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

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

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

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

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


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


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

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

Первый взгляд: React Native Navigator Experimental Part 1

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

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

EDIT: React Navigation теперь является официальной навигационной библиотекой.

Ответ 5

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

Ответ 6

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

Ответ 7

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