Wie kann ich eine Variable in React Native protokollieren, beispielsweise console.log
bei der Entwicklung für das Web?
logging
react-native
skyline75489
quelle
quelle
Antworten:
console.log
funktioniert.Unter iOS wird standardmäßig im Debug-Bereich in Xcode protokolliert.
Drücken Sie im IOS-Simulator ( ⌘+ D) und dann Remote JS Debugging . Dadurch wird eine Ressource geöffnet, http: // localhost: 8081 / debugger-ui auf localhost. Verwenden Sie von dort aus die Javascript-Konsole der Chrome Developer Tools, um sie anzuzeigen
console.log
quelle
Verwendung
console.log
,console.warn
usw.Ab React Native 0.29 können Sie einfach Folgendes ausführen, um Protokolle in der Konsole anzuzeigen:
quelle
react-native log-ios
evelopers-Mac-mini com.apple.CoreSimulator.SimDevice.02C1B6C7-2CD2-406E-AC93-DD430E5E3C69 [948] (com.apple.videosubscriptionsd) ausführe. <Hinweis>: Der Dienst wurde nur 0 Sekunden lang ausgeführt. Respawn um 10 Sekunden herausdrücken.Führen Sie dies vor der Reaktion auf Native 0.29 in der Konsole aus:
adb logcat *:S ReactNative:V ReactNativeJS:V
Post React Native 0.29, ausführen:
react-native log-ios
oder
react-native log-android
Wie Martin in einer anderen Antwort sagte.
Dies zeigt alle console.log (), Fehler, Notizen usw. an und führt zu einer Verlangsamung von Null.
quelle
adb logcat -v time -s ReactNativeJS
Verwenden
console.debug("text");
Sie sehen die Protokolle im Terminal.
Schritte:
quelle
Initializing React Xplat Bridge.
.Visual Studio Code verfügt über eine anständige Debug-Konsole, die Ihr console.log anzeigen kann.
VS Code ist meistens React Native-freundlich.
quelle
Hier finden Sie die Chrome Developer Tools Ihr Freund.
Mit den folgenden Schritten gelangen Sie zu den Chrome Developer Tools, in denen Sie Ihre sehen können
console.log
Aussagen sehen können.Schritte
react-native run-android
oder ausreact-native run-ios
⌘+D
für iOS oder⌘M
für Android iOSDebug JS Remotely
Tools -> More Tools -> Developer Options
und stellen Sie sicher, dass Sie sich auf derconsole
Registerkarte befindenWenn eine
console.log
Anweisung ausgeführt wird, sollte sie jetzt in den Chrome Dev Tools angezeigt werden. Die offizielle Dokumentation finden Sie hier .quelle
Es gibt drei Methoden, die ich zum Debuggen bei der Entwicklung von React Native-Apps verwende:
console.log()
: zeigt in der Konsoleconsole.warn()
: wird in der gelben Box unten in der Anwendung angezeigtalert()
: wird wie im Web als Eingabeaufforderung angezeigtquelle
Ich empfehle euch lieber, React Native Debugger zu verwenden. Sie können es mit diesem Befehl herunterladen und installieren.
brew update && brew cask install react-native-debugger
oder
Überprüfen Sie einfach den Link unten.
https://github.com/jhen0409/react-native-debugger
Viel Spaß beim Hacken!
quelle
start
Dies öffnet den Debugger, da Sie den Standard-Debugger anstelle von Chrome verwenden, und das-g
Flag verhindert, dass der Fokus auf das Neuladen entführt wird."start": "env REACT_DEBUGGER=\"$([ -d '/Applications/React Native Debugger.app' ] && echo \"open -g 'rndebugger://set-debugger-loc?host=localhost&port=8081' --args\")\" node node_modules/react-native/local-cli/cli.js start"
Ich hatte das gleiche Problem: Konsolenmeldungen wurden nicht im Debug-Bereich von XCode angezeigt. In meiner App habe ich cmd-d ausgeführt, um das Debug-Menü aufzurufen, und mich daran erinnert, dass ich "Debug in Safari" aktiviert hatte.
Ich habe dies deaktiviert und einige Nachrichten wurden in die Ausgabenachricht gedruckt, aber nicht meine Konsolennachrichten. In einer der Protokollnachrichten stand jedoch:
Dies lag daran, dass ich mein Projekt zuvor zum Testen auf einem realen Gerät mit dem folgenden Befehl gebündelt hatte:
Dies gebündelt ohne "dev-mode" an. Fügen Sie das Flag --dev hinzu, um Entwicklungsnachrichten zuzulassen:
Und console.log-Nachrichten sind zurück! Wenn Sie nicht für ein reales Gerät zu bündeln, vergessen Sie nicht zu re-Punkt
jsCodeLocation
inAppDelegate.m
localhost (tat ich!).quelle
Drücken Sie in Xcode Simulator auf [Befehl + Steuerung + Z], wählen Sie JS aus der Ferne debuggen und drücken Sie dann [Befehl + Option + J], um die Chrome-Entwicklertools zu öffnen.
Xcode Simulator Img
Siehe: Debuggen React Native Apps
quelle
Es ist so einfach, Protokolle in React-Native zu erhalten
Verwenden Sie console.log und console.warn
Dieses Protokoll können Sie in der Browserkonsole anzeigen. Wenn Sie das Geräteprotokoll überprüfen oder das Produktions-APK-Protokoll sagen möchten, können Sie es verwenden
quelle
console.log
undconsole.warn
.Das React-Native-Xlog- Modul, das Ihnen helfen kann, ist WeChats Xlog für React -Native. Das kann in der Xcode-Konsole und in der Protokolldatei ausgegeben werden. Die Produktprotokolldateien können Ihnen beim Debuggen helfen.
quelle
Entwicklungszeitprotokollierung
Für die Protokollierung der Entwicklungszeit können Sie console.log () verwenden . Eine wichtige Sache, wenn Sie die Protokollierung im Produktionsmodus deaktivieren möchten, weisen Sie in der Root-Js-Datei der App einfach eine leere Funktion wie diese zu - console.log = {}. Dadurch wird die gesamte Protokollveröffentlichung in der gesamten App deaktiviert, was tatsächlich in der Produktion erforderlich ist Modus als console.log verbraucht Zeit.
Laufzeitprotokollierung
Im Produktionsmodus müssen außerdem Protokolle angezeigt werden, wenn echte Benutzer Ihre App in Echtzeit verwenden. Dies hilft beim Verständnis von Fehlern, Verwendung und unerwünschten Fällen. Dafür gibt es auf dem Markt viele kostenpflichtige Tools von Drittanbietern. Eine davon habe ich von Logentries verwendet
Das Gute ist, dass Logentries auch das React Native Module hat . Sie benötigen also weniger Zeit, um die Laufzeitprotokollierung mit Ihrer mobilen App zu aktivieren.
quelle
Etwas, das erst vor ungefähr einem Monat herauskam, ist "Create React Native App", ein fantastisches Boilerplate, mit dem Sie (mit minimalem Aufwand) mithilfe der Expo-App live auf Ihrem Mobilgerät (JEDER mit einer Kamera) zeigen können, wie Ihre App aussieht . Es enthält nicht nur Live-Updates, sondern ermöglicht es Ihnen auch, die Konsolenprotokolle in Ihrem Terminal anzuzeigen, genau wie bei der Entwicklung für das Web , anstatt den Browser wie zuvor bei React Native verwenden zu müssen.
Sie müssten natürlich ein neues Projekt mit diesem Boilerplate erstellen ... aber wenn Sie Ihre Dateien migrieren müssen, sollte dies kein Problem sein. Versuch es einmal.
Bearbeiten: Eigentlich braucht es nicht einmal eine Kamera. Ich sagte, dass zum Scannen eines QR-Codes, aber Sie können auch etwas eingeben, um es mit Ihrem Server zu synchronisieren, nicht nur einen QR-Code.
quelle
Es gibt zwei Optionen zum Debuggen oder Abrufen Ihrer reaktiven nativen Anwendung bei Verwendung
Für die erste Verwendung des Emulators: Verwenden Sie
um die Protokollausgabe zu erhalten
Das Menü kommt also von dort, wo Sie Remote-Debug auswählen, und öffnet diesen Bildschirm in Ihrem Browser. So können Sie Ihre Protokollausgabe auf der Registerkarte "Konsole" sehen.
quelle
Verwenden Sie den nativen Debugger "React" für die Protokollierung und den Redux-Speicher https://github.com/jhen0409/react-native-debugg
Laden Sie es einfach herunter und führen Sie es als Software aus. Aktivieren Sie dann den Debug-Modus im Simulator.
Es unterstützt andere Debugging-Funktionen wie Elemente in Chrome-Entwicklertools, mit deren Hilfe das für jede Komponente bereitgestellte Styling angezeigt wird.
Letzte vollständige Unterstützung für Redux-Entwicklungswerkzeuge
quelle
console.log("My log text")
Ihren Code einIn Android:
In IOS:
quelle
Sie können die Debug-Option für Remote-JS von Ihrem Gerät aus verwenden oder einfach "React -Native Log-Android" und " React-Native Log-iOS" für iOS verwenden.
quelle
console.log () ist der einfache Weg, um Ihren Code zu debuggen, muss jedoch mit der Pfeilfunktion oder bind () verwendet werden, während ein beliebiger Status angezeigt wird. Möglicherweise finden Sie den Link hilfreich.
quelle
Sie können dies auf zwei Arten tun
1> mit warn
2> Verwenden von Alert Dies ist nicht jedes Mal gut, wenn Alert erreicht wird. Jedes Mal, wenn Pop geöffnet wird, ist es nicht vorzuziehen, dies zu tun, wenn Sie eine Schleife ausführen
quelle
Benutzer mit Windows und Android Studio:
Sie finden es unter Logcat in Android Studio. Es werden viele Protokollierungsnachrichten angezeigt, sodass Sie möglicherweise einfacher einen Filter für "ReactNativeJS" erstellen können, der nur Ihre console.log-Nachrichten anzeigt, die in Ihrer reaktiven nativen Anwendung erstellt wurden.
quelle
Jeder Entwickler, der mit diesem Problem des Debuggens mit dem nativen React konfrontiert ist, auch ich, und ich verweise darauf, und die Lösung ist für mich auf der ersten Ebene ausreichend. Sie deckt nur wenige Möglichkeiten ab, die uns helfen, das zu versuchen, was immer mit uns vertraut ist
https://codeburst.io/react-native-debugging-tools-3a24e4e40e4
quelle
Sie können Reactotron auch verwenden, es bietet Ihnen viel mehr Funktionen als nur die Protokollierung. https://github.com/infinitered/reactotron
quelle
Es gibt verschiedene Möglichkeiten, dies zu erreichen. Ich liste sie auf und beziehe sie auch in die Verwendung ein. Sie können verwenden:
console.log
und Anzeigen von Protokollierungsanweisungen, ohne die Remote-Debugging-Option von Dev Tools, Android Studio und Xcode zu deaktivieren. Wenn Sie sich für die Remote-Debugging-Option entscheiden und die Protokollierung in Chrome Dev Tools oder vscode oder einem anderen Editor anzeigen können, der das Debuggen unterstützt, müssen Sie vorsichtig sein, da dies den gesamten Prozess verlangsamt.console.warn
aber dann wird Ihr mobiler Bildschirm mit diesen seltsamen gelben Kästchen überflutet, die je nach Ihrer Situation möglicherweise machbar sind oder nicht.quelle
Sie verwenden dasselbe, was für das normale Web verwendet wird. Der
console
Befehl funktioniert auch in diesem Fall. Zum Beispiel können Sie verwendenconsole.log()
,console.warn()
,console.clear()
usw.Sie können Chrome Developer verwenden, um den
console
Befehl zu verwenden, wenn Sie sich anmelden, während Sie Ihre React Native-App ausführen.quelle
console.log()
Dies ist die beste und einfachste Möglichkeit, Ihre Anmeldekonsole anzuzeigen, wenn Sie den Remote-JS-Debugger in Ihrem Entwicklermenü verwendenquelle
Chrome Devtool ist der beste und einfachste Weg zum Protokollieren und Debuggen.
quelle
Wenn Sie mit OSX arbeiten und einen Emulator verwenden, können Sie Ihre
console.log
s direkt im Safari Web Inspector anzeigen .Safari => Entwicklung => Simulator - [Ihre Simulatorversion hier] => JSContext
quelle
Normalerweise gibt es zwei Szenarien, in denen wir debuggen müssen.
Wenn wir auf Datenprobleme stoßen und in diesem Fall unsere Daten und das Debuggen in Bezug auf Daten überprüfen möchten
console.log('data::',data)
und js remote zu debuggen ist die beste Option.
Ein anderer Fall sind Probleme mit der Benutzeroberfläche und den Stilen, bei denen wir das Styling der Komponente überprüfen müssen. In diesem Fall ist React-Dev-Tools die beste Option.
beide Methoden erwähnen hier.
quelle
console.log kann für jedes JS-Projekt verwendet werden. Wenn Sie die App in localhost ausführen, ähnelt sie offensichtlich jedem Javascript-Projekt. Wenn Sie jedoch einen Simulator oder ein anderes Gerät verwenden, verbinden Sie diesen Simulator mit unserem lokalen Host, und wir können ihn in der Konsole sehen.
quelle