React Navigation проти React Native Navigation [закрито]


76

Я просто хочу знати чесні, досвідчені та об'єктивні точки зору щодо цих двох суттів для реалізації навігації в React Native:

Що краще і чому. Дякую


Варто перевірити офіційні документи: responsenative.dev/docs/navigation.html
Divyanshu Maithani 02.03.20

Відповіді:


85

НОВА РЕДАГАЦІЯ : На сьогодні (07/2020) я пропоную використовувати React Navigation v5 . Це рішення громади найбільше підштовхується Facebook. Переписання V5 повністю змінило ігри і значно перевершило попередні версії. Легко отримати налаштування та впровадити легкі / складні стеки - це дуже просто.

Якщо це не для вас, інша альтернатива - це реакція-рідна навігація WIX (на жаль, не сумісна з expo).


Реагуйте на рідну навігацію як випливає з назви, використовує власні модулі з мостом JS, тому продуктивність буде / може бути кращою. Для цього потрібна рідна інтеграція.

У той час як React Navigation - це просте і потужне рішення, яке забезпечує сама рідна реакція. Це повністю реалізація JS, на відміну від іншої, яка використовує власну підтримку, що може бути складно. Простоnpm-install і вам добре йти ...

Використовуйте реакцію навігації, якщо ви віддаєте перевагу всій реалізації JS, і використовуйте власну навігацію, якщо ваш найвищий пріоритет полягає у продуктивності .

  • Обидві кінцівки зазнали кардинальних змін і увійшли до наступних стабільних версій. Реагування-навігація стала стабільнішою та ефективнішою. Якщо вам доводиться обробляти складні обчислення в js, перейдіть до response-native-navigation. але в більшості випадків реакція-навігація буде працювати для вас!
  • З появою реакції-рідних екранів , рідна оптимізація екрану наводиться можливістю реагувати-навігацію шляхом приведення рідну навігації компонента (UIViewController для прошивки, і FragmentActivity для Android) Див тут

Для тих, хто дивиться з перегляду користувацького досвіду, обидва надають майже однакові анімації та потік, так що ви не знаєте, яка бібліотека використовується за лаштунками. Основна відмінність полягає в тому, що рідна сторона може покращити продуктивність (що має вирішальне значення для кращого користувацького досвіду)

Обидві бібліотеки є одними з найкращих навігаційних рішень для React Native. Використовуйте його відповідно до ваших потреб / уподобань.


15
Беручи до уваги React Navigation, що все щеbeta є сьогодні і повно дратівливих помилок , враховуйте також стабільність. Що мене турбує, я настільки розчарований, React Navigationщо спробую React Native Navigation. Так марно витрачати час ... Якби лише Facebook дав нам трохи часу перед тим, як залишити Навігатор ...
MacKentoch

6
response-native-navigation є приголомшливим. у реакції-навігації бракує дуже критичних методів життєвого циклу, таких як isFocused або onLeave.
Jeungmin Oh

isFocused та інші способи / події життєвого циклу є у v2: responsenavigation.org/docs/en/with-navigation-focus.html#docsNav responsenavigation.org/docs/en/navigation-events.html#docsNav
Estevão Lucas

1
Відповідь не дає підказки про те, чи є якась різниця у взаємодії користувачів. Поліпшення продуктивності не передбачає відчутної різниці для користувача, тому я все ще не впевнений, чи існує якась реальна різниця для користувачів між цими параметрами, і саме це я хотів би знати.
jacmkno

1
@ optim1st Неправильно! ви можете використовувати redux з останніми версіями. Переконайтеся, що ви дотримуєтесь інструкцій з прикладу repo: github.com/victorkvarghese/react-native-boilerplate
Росомаха

3

Реагуйте нативну навігацію, використовуючи власну навігацію, обертаючи кожен екран власним контролером. Отже, продуктивність оптимізована під рідну сферу. Область, яку ви збираєтесь реалізувати, знаходиться всередині заголовка та панелі вкладок.

React Navigation - це чиста реалізація js. Він використовує рідний кореневий подання React як вид контейнера. Кожен екран знаходиться під кореневим ієрархічним деревом подання.

Отже, якщо ви відкриєте програму з консолі View Hierarchy, ви побачите велику різницю (React Navigation включає купу дивних компонентів, таких як кілька заголовків або панель вкладок, дерево також важко зрозуміти).


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.