1 00:00:02,260 --> 00:00:07,960 Dafür bin ich wieder in dieser Anwendung, an der wir gearbeitet haben, dieser Zielanwendung, in der wir hier einige 2 00:00:07,960 --> 00:00:13,510 Ziele hinzufügen können, und dies ist der Code, den wir dort geschrieben haben. Ich habe dort nichts geändert. 3 00:00:13,630 --> 00:00:19,370 Lassen Sie mich nun die verschiedenen Dinge vorstellen, die schief gehen könnten, und wie Sie sie beheben. 4 00:00:20,290 --> 00:00:21,760 Beginnen wir also einfach, 5 00:00:21,790 --> 00:00:28,930 sagen wir, wir haben einen einfachen Syntaxfehler. Hier öffnen wir unser Modal am Ende, indem wir den Add-Modus auf 6 00:00:28,930 --> 00:00:30,000 true setzen. 7 00:00:30,040 --> 00:00:35,860 Lassen Sie mich diese schließende Klammer entfernen. Das ist ein klarer Syntaxfehler, den wir können und 8 00:00:35,860 --> 00:00:40,090 den wir unbedingt vermeiden sollten, weil wir als Entwickler einen klaren Fehler gemacht haben. 9 00:00:40,090 --> 00:00:45,490 Nun ist das Gute, dass sogar unsere IDE dies erkennt und uns hier eine Warnung gibt, obwohl der hier 10 00:00:45,520 --> 00:00:47,890 angezeigte Fehler leider nicht ganz korrekt ist. 11 00:00:47,890 --> 00:00:50,370 Es heißt, dass ein Komma erwartet wird. Nun, eigentlich 12 00:00:50,380 --> 00:00:54,120 ist das nicht das eigentliche Problem, das eigentliche Problem ist ein fehlende Klammer. 13 00:00:54,190 --> 00:00:57,160 Trotzdem haben wir eine Vorstellung davon, dass hier etwas 14 00:00:57,160 --> 00:01:02,890 nicht stimmt, und obwohl Sie immer noch über das Problem nachdenken müssen und diese Lösung nicht blind verwenden können, indem 15 00:01:02,890 --> 00:01:06,700 Sie sich diesen Code ansehen, sollten Sie irgendwann herausfinden, dass eine Klammer fehlt. 16 00:01:07,030 --> 00:01:12,670 Selbst wenn Sie dies vergessen und dies speichern, wird das Javascript-Bundle hier erstellt. Wie Sie sehen, habe 17 00:01:12,670 --> 00:01:18,520 ich dies sowohl auf Android als auch auf iOS gestartet. Jetzt erhalten wir diesen roten Fehlerbildschirm, über den 18 00:01:18,520 --> 00:01:20,440 ich gesprochen habe, und hier 19 00:01:20,800 --> 00:01:23,280 erneut. Wir können einfach die Fehlermeldung lesen. 20 00:01:23,410 --> 00:01:29,780 Es zeigt uns immer noch auf die falsche Lösung und erwartet ein Komma, aber es zeigt uns auf 21 00:01:29,830 --> 00:01:36,580 die richtige Codezeile. Hier sehen Sie, dass dieser Schaltflächentitel eine neue Ziellinie hinzufügt, sodass wir immer noch sehen, wo wir 22 00:01:37,060 --> 00:01:41,170 suchen sollten und dass das Problem liegt wahrscheinlich aus dieser Linie. 23 00:01:41,170 --> 00:01:48,490 Wir bekommen übrigens den gleichen Fehler hier in dieser Konsole und auch in unseren Expo-Entwicklungstools hier. Dort sehen Sie die gleiche Fehlermeldung auch 24 00:01:48,490 --> 00:01:53,470 mit einem Hinweis auf die Zeile, von der dieser Fehler stammt, so dass Sie eine 25 00:01:53,470 --> 00:01:58,770 Menge bekommen Hilfe zum Aufspüren dieses Problems. Jetzt hier ist es leider immer noch nicht 26 00:01:58,780 --> 00:02:04,270 aufgefallen, dass ich diesen Fehler behoben habe und daher sehen wir hier, dass er abgestürzt ist, auf iOS 27 00:02:04,270 --> 00:02:05,650 unter Android wird er nicht 28 00:02:05,650 --> 00:02:07,690 neu geladen. Jetzt auf Android sehen 29 00:02:07,690 --> 00:02:10,000 wir einen Befehl, mit dem wir die App neu laden 30 00:02:10,090 --> 00:02:16,240 können. Wir können dort nach unten klicken oder zweimal r drücken, um die App neu zu laden, aber die Änderung wird hier immer noch nicht übernommen, 31 00:02:16,240 --> 00:02:18,010 obwohl ich sie im Code behoben habe. 32 00:02:18,010 --> 00:02:21,850 Eine Lösung hier ist also Stoppen Sie einfach das Paket oder starten Sie npm start neu. 33 00:02:21,970 --> 00:02:27,910 Dies kommt selten vor, aber manchmal bricht dies ab, und dann ist es einfach, diesen npm-Startvorgang einfach neu zu 34 00:02:27,910 --> 00:02:29,480 starten. Damit starte ich 35 00:02:29,530 --> 00:02:35,500 ihn auf Android erneut, indem ich a drücke, und auf iOS, indem ich i drücke. Jetzt sollte die App 36 00:02:35,570 --> 00:02:37,850 auf diesen Geräten neu gestartet werden . 37 00:02:37,870 --> 00:02:43,540 Auch dies passiert selten, aber manchmal passiert es einfach und Sie können es einfach neu starten, 38 00:02:43,540 --> 00:02:45,500 damit es wieder richtig funktioniert. 39 00:02:45,520 --> 00:02:50,380 Lassen Sie mich Ihnen ein Beispiel für eine Fehlermeldung zeigen, die angezeigt wird, wenn Sie keinen 40 00:02:50,380 --> 00:02:53,800 Syntaxfehler haben, aber dennoch einen eindeutigen Fehler in Ihrem Code haben. 41 00:02:54,640 --> 00:03:02,830 Angenommen, wenn wir hier ein Ziel mit dem Zieltitel hinzufügen, fügen wir eine Prüfung hinzu, bei der festgestellt wird, ob die Länge des Zieltitels größer als 42 00:03:02,950 --> 00:03:09,520 Null ist, um zu überprüfen, ob der Wert nicht leer ist oder tatsächlich gleich Null ist, was bedeutet, dass der Benutzer 43 00:03:09,520 --> 00:03:11,700 dies nicht getan hat. Wenn Sie keinen 44 00:03:11,700 --> 00:03:17,740 Titel eingeben, kehren wir einfach zurück. Dies bedeutet, dass wir dieses Ziel hier nicht hinzufügen und das Modal auch 45 00:03:17,740 --> 00:03:18,790 nicht schließen. Daher 46 00:03:18,790 --> 00:03:21,610 ignorieren wir nur die Benutzereingaben, da diese leer sind. 47 00:03:21,640 --> 00:03:23,130 Möglicherweise möchten wir eine 48 00:03:23,140 --> 00:03:26,470 Fehlermeldung anzeigen, aber im Moment machen wir es einfach so. 49 00:03:26,540 --> 00:03:29,120 Wenn wir das jetzt tun, 50 00:03:29,120 --> 00:03:30,230 wird 51 00:03:30,230 --> 00:03:37,400 es hier im Allgemeinen gut funktionieren, oder? Wenn ich das speichere und wir hierher zurückkehren, es öffnen und auf Hinzufügen klicken, sehen Sie, 52 00:03:37,430 --> 00:03:40,650 dass ich kein leeres Ziel hinzufügen kann. Ich muss etwas eingeben, damit dies verschwindet. 53 00:03:40,670 --> 00:03:47,030 Nehmen wir nun in unserer Zieleingabekomponente an, wo wir Benutzereingaben abrufen, wo wir sie dann 54 00:03:47,030 --> 00:03:55,990 weiterleiten, indem wir hier auf Ziel hinzufügen klicken. Wir vergessen dies, wir leiten hier null weiter oder wir leiten nichts weiter, weil 55 00:03:55,990 --> 00:04:02,200 wir einfach vergessen haben, dies hier hinzuzufügen. Jetzt startet unsere App einwandfrei, sie bricht 56 00:04:02,200 --> 00:04:10,760 nicht sofort, weil wir keinen eindeutigen Fehler in unserem Code haben, keinen Syntaxfehler, aber wenn ich hier etwas eingebe und auf Hinzufügen klicke, 57 00:04:10,820 --> 00:04:14,510 werde ich undefiniert, ist kein Objekt, bewertet die Länge des 58 00:04:14,540 --> 00:04:18,170 Zieltitels und Auch dies ist eine Fehlermeldung, die uns hilft. 59 00:04:18,170 --> 00:04:24,680 Es informiert uns, dass das Problem etwas damit zu tun hat, dass etwas nicht definiert ist, und dass es 60 00:04:24,680 --> 00:04:27,280 mit dieser Überprüfung der Zieltitellänge zusammenhängt. Dann 61 00:04:27,470 --> 00:04:33,130 können Sie an die Stelle eintauchen, an der Sie auf die Zieltitellänge zugreifen und das Problem aufspüren. 62 00:04:33,320 --> 00:04:39,020 Wir haben also Probleme, die Länge des Zieltitels zu ermitteln, da er anscheinend nicht definiert ist. Wir bekommen es hier, also ist der Fehler 63 00:04:39,020 --> 00:04:39,800 sicherlich 64 00:04:39,800 --> 00:04:45,320 nicht hier, aber gehen wir zu der Stelle, an der am Ende der Add-Goal-Handler 65 00:04:45,320 --> 00:04:46,130 aufgerufen wird. 66 00:04:46,130 --> 00:04:51,620 Wenn Sie sich erinnern, geben wir dies hier bei der Zieleingabe an die Requisite zum Hinzufügen von Zielen weiter. Daher 67 00:04:51,620 --> 00:04:56,780 sollten wir wahrscheinlich zur Zieleingabe gehen, die Sie übrigens auch ausführen können, indem Sie den Befehl oder die 68 00:04:56,780 --> 00:05:04,460 Steuerung gedrückt halten und auf den Komponentennamen klicken. Nun, da drin rufen wir hier zum Hinzufügen von Zielen auf und oh, hier sehen wir, was der Fehler ist. In diesem Fall habe ich diesen Fehler 69 00:05:04,460 --> 00:05:08,360 natürlich hier konstruiert, aber Sie verstehen natürlich, dass dies ein Fehler ist, 70 00:05:08,360 --> 00:05:13,790 den Sie sicherlich in Ihrem Code haben könnten, wenn Sie vergessen haben, ihn hinzuzufügen, wenn Sie möglicherweise 71 00:05:13,790 --> 00:05:19,120 die Funktionsweise Ihres Codes ändern und vergessen haben, ihn anzupassen es an allen Stellen und daher erhalten 72 00:05:19,130 --> 00:05:20,610 Sie plötzlich diesen Fehler. 73 00:05:20,720 --> 00:05:23,900 Jetzt hat uns die Fehlermeldung geholfen, das Problem zu finden.