1 00:00:02,260 --> 00:00:07,960 W tym celu powróciłem do tej aplikacji, nad którą pracowaliśmy, tej aplikacji celów, w której możemy 2 00:00:07,960 --> 00:00:13,510 tutaj dodać kilka celów i to jest kod, który tam napisaliśmy, nic tam nie zmieniłem. 3 00:00:13,630 --> 00:00:19,370 Teraz pokażę różne rzeczy, które mogą się nie udać, i sposób ich rozwiązania. 4 00:00:20,290 --> 00:00:21,760 Zacznijmy więc od 5 00:00:21,790 --> 00:00:28,930 prostego, powiedzmy, że mamy prosty błąd składniowy, tutaj w końcu otwieramy nasz modal, ustawiając tryb dodawania 6 00:00:28,930 --> 00:00:30,000 na true, 7 00:00:30,040 --> 00:00:35,860 pozwól mi usunąć ten nawias zamykający. To wyraźny błąd składniowy, to błąd, który 8 00:00:35,860 --> 00:00:40,090 możemy i powinniśmy go całkowicie unikać, ponieważ jako programista popełniliśmy wyraźny błąd. 9 00:00:40,090 --> 00:00:45,490 Dobrą rzeczą jest to, że nawet nasze IDE to rozpoznaje i daje nam ostrzeżenie tutaj, choć 10 00:00:45,520 --> 00:00:47,890 niestety błąd, który tu pokazuje, nie 11 00:00:47,890 --> 00:00:50,370 jest całkowicie poprawny, mówi, że oczekuje przecinka, cóż, 12 00:00:50,380 --> 00:00:54,120 właściwie to nie jest prawdziwy problem, prawdziwy problem to brakujący wspornik. 13 00:00:54,190 --> 00:00:57,160 Mimo to mamy wrażenie, że coś tu jest nie 14 00:00:57,160 --> 00:01:02,890 tak i chociaż nadal musisz pomyśleć o tym problemie i nie możesz ślepo skorzystać z tego rozwiązania, patrząc na 15 00:01:02,890 --> 00:01:06,700 ten kod, w pewnym momencie powinieneś dowiedzieć się, że brakuje brakującego nawiasu. 16 00:01:07,030 --> 00:01:12,670 Nawet jeśli o tym zapomnisz i zapiszesz, powiedzmy, pakiet JavaScriptu zostanie tutaj zbudowany. Jak widzisz, uruchomiłem 17 00:01:12,670 --> 00:01:18,520 go zarówno na Androidzie, jak i na iOS, a teraz pojawia się czerwony ekran błędów, o którym 18 00:01:18,520 --> 00:01:20,440 mówiłem i jeszcze tutaj, 19 00:01:20,800 --> 00:01:23,280 możemy po prostu odczytać komunikat o błędzie. 20 00:01:23,410 --> 00:01:29,780 Nadal wskazuje nam niewłaściwe rozwiązanie, oczekując przecinka, ale wskazuje właściwą linię kodu, tutaj widać, 21 00:01:29,830 --> 00:01:36,580 że ten tytuł przycisku dodaje nową linię celu, więc nadal pokazuje nam, gdzie powinniśmy szukać 22 00:01:37,060 --> 00:01:41,170 i że problem jest prawdopodobnie pochodzący z tej linii. 23 00:01:41,170 --> 00:01:48,490 Otrzymujemy ten sam błąd, tutaj w tej konsoli, a także w naszych narzędziach do tworzenia expo tutaj, tam pojawia się ten sam 24 00:01:48,490 --> 00:01:53,470 komunikat o błędzie również z podpowiedzią na linii, z której pochodzi ten błąd, więc 25 00:01:53,470 --> 00:01:58,770 otrzymujesz dużo pomoc w wyśledzeniu tego problemu. Teraz tutaj niestety nadal nie zauważam, 26 00:01:58,780 --> 00:02:04,270 że naprawiłem ten błąd, a więc tutaj widzimy, że się zawiesił, na iOS na 27 00:02:04,270 --> 00:02:05,650 Androida, nie ładuje 28 00:02:05,650 --> 00:02:07,690 się ponownie. Teraz na 29 00:02:07,690 --> 00:02:10,000 Androidzie widzimy polecenie, którego możemy użyć do przeładowania 30 00:02:10,090 --> 00:02:16,240 aplikacji, możemy kliknąć tam w dół lub nacisnąć dwukrotnie r, aby przeładować, ale nadal nie odbiera zmiany tutaj, mimo że 31 00:02:16,240 --> 00:02:18,010 naprawiłem to w kodzie, więc jednym 32 00:02:18,010 --> 00:02:21,850 z rozwiązań jest tutaj po prostu zatrzymaj pakiet lub uruchom ponownie npm start. 33 00:02:21,970 --> 00:02:27,910 Zdarza się to rzadko, ale czasami psuje się, a następnie wystarczy zrestartować proces uruchamiania 34 00:02:27,910 --> 00:02:29,480 npm, a następnie 35 00:02:29,530 --> 00:02:35,500 uruchomię go ponownie na Androidzie, naciskając ai iOS, naciskając i, a teraz powinno to ponownie 36 00:02:35,570 --> 00:02:37,850 uruchomić aplikację na tych urządzeniach . 37 00:02:37,870 --> 00:02:43,540 Znowu zdarza się to rzadko, ale czasem tak się dzieje i możesz po prostu zrestartować, aby 38 00:02:43,540 --> 00:02:45,500 przywrócić to do prawidłowego działania. 39 00:02:45,520 --> 00:02:50,380 Teraz, gdy to się znowu uruchomi, pozwól mi pokazać przykład komunikatu o błędzie, który pojawia się tam, gdzie 40 00:02:50,380 --> 00:02:53,800 nie masz błędu składniowego, ale nadal masz wyraźny błąd w kodzie. 41 00:02:54,640 --> 00:03:02,830 Powiedzmy, że kiedy dodajemy tutaj cel z tytułem celu, dodajemy sprawdzenie, w którym sprawdzamy, czy długość tytułu celu jest większa od zera, aby 42 00:03:02,950 --> 00:03:09,520 sprawdzić, czy wartość nie jest pusta lub czy w rzeczywistości jest równa zeru, co oznacza, że użytkownik nie 43 00:03:09,520 --> 00:03:11,700 „ t wpisz tytuł, w tym 44 00:03:11,700 --> 00:03:17,740 przypadku po prostu wracamy, co oznacza, że nie dodamy tutaj tego celu, a także nie zamierzamy zamykać 45 00:03:17,740 --> 00:03:18,790 modalu, dlatego 46 00:03:18,790 --> 00:03:21,610 ignorujemy dane wprowadzone przez użytkownika, ponieważ są puste. 47 00:03:21,640 --> 00:03:23,130 Możemy chcieć wyświetlić komunikat 48 00:03:23,140 --> 00:03:26,470 o błędzie, ale na razie zrobimy to w ten sposób. 49 00:03:26,540 --> 00:03:29,120 Teraz, kiedy to 50 00:03:29,120 --> 00:03:30,230 zrobimy, 51 00:03:30,230 --> 00:03:37,400 ogólnie będzie dobrze, prawda? Jeśli to zapiszę i wrócimy tutaj, otwórz to i kliknę dodaj, zobaczysz, że 52 00:03:37,430 --> 00:03:40,650 nie mogę dodać pustego celu, muszę wprowadzić coś, aby to zniknęło. 53 00:03:40,670 --> 00:03:47,030 Powiedzmy teraz, że w naszym komponencie wejściowym celu, w którym pobieramy dane wejściowe od użytkownika, 54 00:03:47,030 --> 00:03:55,990 przekazujemy je dalej, wzywając do dodawania celu tutaj, zapominamy o tym, przekazujemy tutaj wartość zerową lub nic nie przekazujemy, ponieważ 55 00:03:55,990 --> 00:04:02,200 po prostu zapomnieliśmy dodać to tutaj. Teraz nasza aplikacja uruchamia się dobrze, nie 56 00:04:02,200 --> 00:04:10,760 psuje się od razu, ponieważ nie mamy wyraźnego błędu w kodzie, nie ma błędu składniowego, ale jeśli coś tu wprowadzę i kliknę 57 00:04:10,820 --> 00:04:14,510 przycisk Dodaj, niezdefiniowane nie jest obiektem, ocena długości tytułu 58 00:04:14,540 --> 00:04:18,170 celu i ponownie ten komunikat o błędzie pomaga nam. 59 00:04:18,170 --> 00:04:24,680 Informuje nas, że problem ma coś wspólnego z tym, że coś jest niezdefiniowane i że jest związany z 60 00:04:24,680 --> 00:04:27,280 tym sprawdzaniem długości tytułu celu, a 61 00:04:27,470 --> 00:04:33,130 następnie możesz zanurkować w miejscu, w którym uzyskujesz dostęp do długości tytułu celu i prześledzić problem. 62 00:04:33,320 --> 00:04:39,020 Mamy więc problemy z uzyskaniem długości tytułu bramki, ponieważ wydaje się, że nie jest on zdefiniowany. Dostajemy go tutaj, więc z pewnością nie 63 00:04:39,020 --> 00:04:39,800 ma 64 00:04:39,800 --> 00:04:45,320 błędu, ale przejdźmy do miejsca, w którym na końcu wywoływany jest moduł dodawania 65 00:04:45,320 --> 00:04:46,130 obsługi celu. 66 00:04:46,130 --> 00:04:51,620 Teraz, jeśli pamiętasz, przekazujemy to do propozycji dodawania celu tutaj podczas wprowadzania celu, więc prawdopodobnie 67 00:04:51,620 --> 00:04:56,780 powinniśmy przejść do wprowadzania celu, co przy okazji możesz również wykonać, przytrzymując polecenie 68 00:04:56,780 --> 00:05:04,460 lub kontrolę i klikając nazwę komponentu. Cóż, wzywamy tutaj dodać cel i och, tutaj widzimy, jaki jest błąd. Oczywiście w tym przypadku skonstruowałem ten 69 00:05:04,460 --> 00:05:08,360 błąd tutaj, ale oczywiście rozumiem, że jest to błąd, który 70 00:05:08,360 --> 00:05:13,790 z pewnością mógłbyś mieć w kodzie, w którym zapomniałeś go dodać, w którym możesz 71 00:05:13,790 --> 00:05:19,120 zmienić sposób działania kodu i zapomniałeś dostosować we wszystkich miejscach i dlatego nagle pojawia 72 00:05:19,130 --> 00:05:20,610 się ten błąd. 73 00:05:20,720 --> 00:05:23,900 Teraz komunikat o błędzie pomógł nam znaleźć problem.