Debugging in React Native: Fehler finden und beheben
Debugging: Fehler finden und beheben
~10 Min. Lesezeit Zuletzt aktualisiert am 8. August 2026
Fehler gehören zum Programmieren dazu – wichtig ist, sie schnell zu finden. Dieses Kapitel zeigt die wichtigsten Debugging-Werkzeuge für React Native, sowohl in VS Code als auch in WebStorm/PhpStorm.
console.log() – der Klassiker
Genau wie im Browser funktioniert console.log() in React Native. Die Ausgabe erscheint im Terminal, in dem npx expo start läuft, UND im Entwicklermenü der App:
In unserer echten screens/ProductDetailScreen.js könnten Sie z. B. so einen Log-Aufruf einbauen, um den Ladevorgang zu beobachten:
function ProductDetailScreen({ route }) {
const { productSku } = route.params;
console.log('Öffne Produkt mit SKU:', productSku);
// ...
}Das Entwicklermenü öffnen
In der Expo Go App (oder Ihrer Entwicklungs-Build) öffnen Sie das Entwicklermenü durch Schütteln des Geräts ("Shake Gesture") oder, im Simulator/Emulator, per Tastenkombination: Cmd+D im iOS-Simulator, Cmd+M (Mac) bzw. Ctrl+M (Windows/Linux) im Android-Emulator. Dort finden Sie unter anderem "Reload", "Open JS Debugger" und "Toggle Performance Monitor".
Debugging in VS Code
- Erweiterung "React Native Tools" installiert (siehe Kapitel 2)
- Im Entwicklermenü der App "Open JS Debugger" wählen – öffnet automatisch ein Debug-Fenster in Chrome oder VS Code
- Alternativ: In VS Code eine
launch.jsonmit Typreactnativeanlegen und F5 drücken, um direkt mit Breakpoints in.js-Dateien zu starten - Breakpoints setzen Sie wie gewohnt per Klick links neben die Zeilennummer
Debugging in WebStorm/PhpStorm
- Über Run > Edit Configurations > + > React Native eine neue Konfiguration anlegen
- Diese Konfiguration mit dem Debug-Button (Käfer-Symbol) statt dem normalen Run-Button starten
- Breakpoints per Klick links neben die Zeilennummer setzen – funktioniert identisch zum PHP-Debugging mit Xdebug, das Sie bereits aus der Magento-Arbeit kennen
- Der "React Native Console"-Tab (siehe Kapitel 2) zeigt zusätzlich alle
console.log()-Ausgaben direkt in der IDE, ohne ins Terminal wechseln zu müssen
Häufige Fehlermeldungen und ihre Bedeutung
| Fehlermeldung | Häufigste Ursache |
|---|---|
| "Text strings must be rendered within a <Text> component" | loser Text außerhalb von <Text> – siehe Kapitel 4, die häufigste Anfängerfalle |
| "Objects are not valid as a React child" | ein ganzes Objekt statt eines Strings/einer Zahl wurde in {{...}} im JSX eingesetzt, z. B. {{produkt}} statt {{produkt.name}} |
| "Network request failed" | meist eine falsche API-URL, kein Internetzugriff auf dem Testgerät, oder (bei lokalem Magento) die IP-Adresse Ihres Computers statt "localhost" verwenden, da das Telefon "localhost" sonst auf sich selbst bezieht |
| "Invariant Violation" | allgemeine React-Native-interne Fehlermeldung, meist mit einem konkreten Zusatztext, der den echten Grund nennt (z. B. eine fehlende Native-Bibliothek) |
Performance Monitor
Im Entwicklermenü aktiviert "Toggle Performance Monitor" eine kleine Einblendung mit der aktuellen Bildrate (FPS) – vergleichbar mit den Chrome-DevTools-"Rendering"-Performance-Overlays. Fällt die JS-Framerate während des Scrollens deutlich unter 60, ist das oft ein Hinweis auf zu viele gleichzeitig gerenderte Listenelemente (siehe FlatList, Kapitel 9) oder zu aufwändige Berechnungen direkt im Render-Pfad.
Tipp: Der schnellste erste Debugging-Schritt ist fast immer: App im Entwicklermenü neu laden ("Reload"). Viele scheinbar mysteriöse Fehler nach Code-Änderungen sind ein veralteter JavaScript-Bundle-Cache, der durch einen einfachen Reload verschwindet.