React Navigation vs. React Native Navigation [geschlossen]


76

Ich möchte nur ehrliche, erfahrene und objektive Gesichtspunkte zu diesen beiden Lösungen kennen, um die Navigation in React Native zu implementieren:

Welches ist besser und warum. Vielen Dank


Es lohnt sich, die offiziellen Dokumente zu lesen
Divyanshu Maithani

Antworten:


83

Reagieren Sie auf native Navigation, wie der Name schon sagt, und verwenden Sie die nativen Module mit einer JS-Bridge, damit die Leistung besser wird. erfordert native Integration.

Während React Navigation eine einfache und leistungsstarke Lösung ist, die von React Native selbst bereitgestellt wird. Es ist eine All-JS-Implementierung im Gegensatz zu der anderen, die native Unterstützung verwendet, was schwierig sein kann. Nur npm-installund du kannst loslegen ...

Verwenden Sie die Reaktionsnavigation, wenn Sie eine All-JS-Implementierung bevorzugen , und die native Navigation, wenn Ihre höchste Priorität in der Leistung liegt .

  • Beide Bibliotheken haben drastische Änderungen erfahren und sind in die nächsten stabilen Versionen eingetreten. Die Reaktionsnavigation ist jetzt stabiler und performanter. Wenn Sie komplexe Berechnungen in js durchführen müssen, wählen Sie die reaktionsnative Navigation. In den meisten Fällen funktioniert die Reaktionsnavigation jedoch für Sie!
  • Mit dem Aufkommen von React-Native-Bildschirmen wird die native Bildschirmoptimierung für die React-Navigation durch die native Navigationskomponente (UIViewController für iOS und FragmentActivity für Android) ermöglicht. Siehe hier

Für diejenigen, die aus der Sicht der Benutzererfahrung schauen, bieten beide nahezu identische Animationen und Abläufe, sodass Sie nicht wissen, welche Bibliothek hinter den Kulissen verwendet wird. Der Hauptunterschied ist die native Seite, die die Leistung verbessern kann (was für eine bessere Benutzererfahrung entscheidend ist).

Beide Bibliotheken gehören zu den besten Navigationslösungen für React Native. Verwenden Sie es entsprechend Ihren Bedürfnissen / Vorlieben.


15
In Anbetracht React Navigationist noch heute inbeta und voll von lästigen Bugs , berücksichtigt Stabilität auch. Für meine Sorge bin ich so enttäuscht, React Navigationdass ich es versuchen werde React Native Navigation. Ja, Zeitverschwendung ... Wenn uns nur Facebook ein bisschen Zeit geben würde, bevor wir Navigator verlassen ...
MacKentoch

6
React-Native-Navigation ist fantastisch. Bei der Reaktionsnavigation fehlen sehr kritische Lebenszyklusmethoden wie isFocused oder onLeave.
Jeungmin Oh

isFocused und andere Lebenszyklusmethoden / -ereignisse finden Sie in Version 2
Estevão Lucas

1
Die Antwort gibt keinen Hinweis darauf, ob es einen relevanten Unterschied für die Benutzererfahrung gibt. Eine bessere Leistung bedeutet für den Benutzer keinen wahrnehmbaren Unterschied. Daher bin ich mir immer noch nicht sicher, ob es für die Benutzer einen echten Unterschied zwischen diesen Optionen gibt, und das würde ich gerne wissen.
Jacmkno

1
@ optim1st Falsch! Sie können Redux mit den neuesten Versionen verwenden. Stellen Sie sicher, dass Sie die Anweisungen befolgen. Beispiel repo: github.com/victorkvarghese/react-native-boilerplate
Wolverine

3

Sie sollten den Navigationsrouter ausprobieren. Es bietet das Beste aus beiden Welten: 100% native Navigation unter iOS und Android und eine JavaScript-Array-Darstellung des nativen Bildschirmstapels.


2

Reagieren Sie auf native Navigation mit nativer Navigation, indem Sie jeden Bildschirm mit einem nativen Controller umschließen. Die Leistung wird also vom nativen Bereich optimiert. Der Bereich, den Sie implementieren möchten, befindet sich in der Kopf- und Registerkartenleiste.

React Navigation ist eine reine js-Implementierung. Es verwendet die reaktionsnative Stammansicht als Containeransicht. Jeder Bildschirm befindet sich unter dem hierarchischen Baum der Stammansicht.

Wenn Sie die App also über die Konsole "Hierarchie anzeigen" öffnen, werden Sie einen großen Unterschied feststellen (React Navigation enthält eine Reihe seltsamer Komponenten wie mehrere Überschriften oder Registerkarten, der Baum ist auch schwer zu verstehen).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.