Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Weiterlesen.

Die Nutzung einer mobilen App sollte eine angenehme Erfahrung sein, ohne frustrierende Verzögerungen. Als React Native-Entwickler ist es entscheidend, dass Sie Ihre Apps optimieren, damit sie gut funktionieren und einfach zu bedienen sind. Für eine optimale App-Leistung müssen Sie mit den richtigen Tools und Bibliotheken sauberen und effizienten Code schreiben.

Sehen Sie sich diese Tipps und Techniken an, um die Leistung Ihrer React Native-App zu optimieren.

1. Reduzieren Sie unnötige Re-Renderings mit useMemo Hook

React Native rendert Komponenten mithilfe einer Virtual DOM (VDOM)-Technologie. Das VDOM verfolgt alle Änderungen an der App-Komponente und rendert die gesamte Ansichtshierarchie neu, wenn es für notwendig erachtet wird. Dieser Prozess ist teuer, daher sollten Sie unnötige Aktualisierungen des Status und der Requisiten der Komponente vermeiden.

Die React-Bibliothek stellt die verwendenMemo Und Rückruf verwenden Hooks, um dieses Problem in funktionalen Komponenten zu lösen. Dazu können Sie den useMemo-Hook verwenden Merken Sie sich den resultierenden Wert einer JavaScript-Funktion die Sie nicht bei jedem Rendern neu berechnen möchten.

Hier ist ein Beispiel dafür, wie Sie die verwenden können verwendenMemo Haken:

importieren {useMemo} aus'reagieren';

FunktionMeineKomponente({ Daten }) {
// Die computeExpensiveValue-Funktion ist eine teure Berechnung, die
// muss nicht bei jedem Rendern neu berechnet werden.
konst teurerWert = useMemo(() => computeExpensiveValue (Daten), [Daten]);

// Die Komponente kann den gespeicherten Wert ohne Neuberechnung verwenden
// es bei jedem Rendern.
zurückkehren

{teurerWert}</div>;
}

Einpacken der computeExpensiveValue Funktion innerhalb der verwendenMemo Hook merkt sich das Ergebnis der Funktion. Der verwendenMemo Hook kann ein zweites Argument als Abhängigkeit akzeptieren. Das bedeutet, dass die gespeicherte Funktion nur verstärkt ausgeführt wird, wenn sich diese Abhängigkeit ändert.

Rückruf verwenden ist ähnlich wie verwendenMemo, aber es merkt sich eine Callback-Funktion anstelle eines Werts. Dies kann nützlich sein, um unnötiges erneutes Rendern von untergeordneten Komponenten zu verhindern, die durch eine als Prop weitergegebene Callback-Funktion ausgelöst werden.

2. Umgang mit effektiven Zustandsdaten

Eine schlechte Zustandsverwaltung kann zu Dateninkonsistenzen führen, was zu unerwartetem Verhalten führt, das schwer aufzuspüren und zu beheben ist. Eine gute Zustandsverwaltung beinhaltet die Vermeidung unnötiger Daten im Zustand, die die App verlangsamen und das Debuggen erschweren können. Es ist wichtig sicherzustellen, dass alle Zustände, die Sie speichern, unbedingt erforderlich sind, damit die Komponente gerendert werden kann.

Eine andere Möglichkeit, den Status effektiv zu aktualisieren, ist die Verwendung von Unveränderlichkeitstechniken wie dem Spread-Operator oder dem Object.assign() Methode.

Zum Beispiel:

importieren Reagieren, { useState } aus'reagieren';

FunktionMeineKomponente() {
konst [state, setState] = useState({
zählen: 0,
Text: 'Hallo'
});

FunktionhandleClick() {
setState(vorherigerZustand => {
zurückkehrenObjekt.assign({}, prevState, {count: prevState.count + 1 });
});
}

zurückkehren (


In diesem Beispiel ist die handleClick Funktion verwendet die setState Haken, um den Zustand zu aktualisieren. Anstatt das Zustandsobjekt direkt zu ändern, verwendet es jedoch die Object.assign() -Methode, um ein neues Objekt zu erstellen, das den vorherigen Zustand mit geänderter count-Eigenschaft kopiert. Dieser Ansatz ermöglicht es dem virtuellen DOM von React, die Komponente erneut zu rendern, wenn es erkennt, dass Sie den Status aktualisiert haben.

Sie können auch eine Zustandsverwaltungsbibliothek wie Redux und verwenden die integrierte Kontext-API um diese Technik zu implementieren.

3. Implementieren Sie ein Leistungsüberwachungssystem

Leistungsüberwachungssysteme für mobile Apps (PMS) sind Tools, mit denen Sie die Leistung Ihrer mobilen Apps messen und analysieren können. Sie bieten Funktionen wie Echtzeitüberwachung, Absturzberichte, Netzwerküberwachung, Leistungsmetriken und Wiedergabe von Benutzersitzungen. Die Verwendung eines Leistungsüberwachungssystems mit Ihrer React Native-App ermöglicht es Ihnen, Leistungsengpässe zu identifizieren, um Ihre App zu beheben und zu skalieren.

Hier ist eine Liste mehrerer verfügbarer PMC-Tools.

  • React Native Debugger: Eine eigenständige App, mit der Sie den Status Ihrer React Native-App debuggen und überprüfen können. Es enthält auch eine Leistungsüberwachung, mit der Sie Leistungsprobleme identifizieren und beheben können.
  • React Native Profiler: Mit diesem integrierten Leistungsüberwachungstool können Sie die Leistung Ihrer App überwachen, indem Sie die Zeit messen, die zum Rendern jeder Komponente benötigt wird.
  • Flipper: Eine Entwicklungsplattform für mobile Apps mit einem Leistungsmonitor, der Ihnen helfen kann, Leistungsprobleme zu identifizieren und zu beheben.
  • Firebase-Leistungsüberwachung: Ein von Firebase bereitgestelltes Leistungsüberwachungstool, mit dem Sie die Leistung Ihrer App auf verschiedenen Geräten und Plattformen verfolgen können.

4. Entfernen Sie Console.log-Anweisungen

Wenn eine console.log-Anweisung ausgeführt wird, sendet sie eine Nachricht an die JavaScript-Engine, um die Nachricht in der Konsole zu protokollieren. Die JS-Engine benötigt dann Zeit, um die Nachricht zu verarbeiten und anzuzeigen.

Zu viele Konsolenanweisungen in Ihrem Code verlangsamen die Ausführung und führen zu Leistungsverzögerungen. Dies kann besonders problematisch sein, wenn Ihre App auf einem Gerät mit begrenzten Ressourcen ausgeführt wird, z. B. einem Low-End-Mobilgerät.

5. Erstellen Sie ein effizientes Navigationssystem

Ein gutes Navigationssystem verbessert die Gesamtstruktur Ihrer React Native-App und erleichtert die Wartung, Aktualisierung von Funktionen und die effiziente Weitergabe von Zustandsdaten. Darüber hinaus wird das Umschalten zwischen mehreren Anzeigen in Ihrer Anwendung viel einfacher und die Benutzererfahrung verbessert.

Sie sollten Faktoren wie das richtige Navigationsmuster (registerbasiert, stapelbasiert, schubladenbasiert usw.) berücksichtigen, das zu Ihrer App passt. Berücksichtigen Sie die Anzahl der Bildschirme, die Sie in Ihrer App erwarten, und wie Sie Zustandsdaten zwischen ihnen übertragen.

Caching ist eine nützliche Methode zur Entwicklung eines zuverlässigen Navigationssystems. Mit Caching können Sie den Zustand eines Bildschirms oder einer Komponente speichern, wenn der Benutzer ihn verlässt, und ihn dann wiederherstellen, wenn er zurückkehrt. Dies trägt dazu bei, die Datenmenge zu minimieren, die Sie laden müssen, und die Anzahl der Male, die Sie erneut rendern müssen.

React Native verfügt über mehrere Bibliotheken für die Navigation, wie z. B. React Navigation und React Native Navigation. Sie können sie verwenden, um einige dieser gängigen Navigationsmuster in Ihrer App zu implementieren.

6. Reduzieren Sie die App-Größe mit Code-Splitting und Lazy Loading

Die App-Größe ist wichtig für eine optimierte Leistung, da sie Aspekte der Benutzererfahrung beeinflussen kann, wie z. B. die anfängliche Ladezeit, die Speichernutzung und den Speicherplatz.

Code-Splitting und Lazy Loading sind Techniken, die die Größe Ihrer React Native-App reduzieren und die Leistung verbessern können.

Code-Splitting ist der Prozess, eine große JavaScript-Codebasis in kleinere, überschaubarere „Bündel“ zu zerlegen. Dies kann die anfängliche Ladezeit der App erheblich verkürzen.

Lazy Loading ist eine Technik, mit der Sie Komponenten laden können, während der Benutzer zu ihnen navigiert, und nicht beim Start. Dies kann dazu beitragen, die von Ihrer App verwendete Speichermenge zu reduzieren und die Gesamtleistung zu verbessern.

Warum Leistungsoptimierung wichtig ist

Die Leistungsoptimierung ist entscheidend für den Erfolg jeder mobilen App. Eine langsame App kann zu einer schlechten Benutzererfahrung und letztendlich zu geringer Bindung und Bindung führen.

Diese Tricks sind nur einige Möglichkeiten, wie Sie der Benutzerbasis Ihrer App ein angenehmes Erlebnis bieten können.