1 00:00:02,260 --> 00:00:07,960 Per questo sono tornato in questa applicazione su cui abbiamo lavorato, questa applicazione di obiettivi in cui possiamo aggiungere 2 00:00:07,960 --> 00:00:13,510 alcuni obiettivi qui e questo è il codice che abbiamo scritto lì, non ho cambiato nulla lì. 3 00:00:13,630 --> 00:00:19,370 Ora lascia che mostri le diverse cose che potrebbero andare storte e come le risolvi. 4 00:00:20,290 --> 00:00:21,760 Quindi cominciamo semplici, diciamo 5 00:00:21,790 --> 00:00:28,930 che abbiamo un semplice errore di sintassi, qui in cui apriamo il nostro modale alla fine impostando la modalità 6 00:00:28,930 --> 00:00:30,000 add su 7 00:00:30,040 --> 00:00:35,860 true, permettimi di rimuovere quella parentesi di chiusura. Ora questo è un chiaro errore di sintassi, è un 8 00:00:35,860 --> 00:00:40,090 errore che possiamo e dovremmo assolutamente evitare perché noi come sviluppatori abbiamo fatto un chiaro errore. 9 00:00:40,090 --> 00:00:45,490 Ora il bello è che anche il nostro IDE lo riconosce e ci dà un avvertimento qui, anche se purtroppo 10 00:00:45,520 --> 00:00:47,890 l'errore che sta mostrando qui non è del 11 00:00:47,890 --> 00:00:50,370 tutto corretto, dice che si aspetta una virgola, beh 12 00:00:50,380 --> 00:00:54,120 in realtà non è il vero problema, il vero problema è un parentesi mancante. 13 00:00:54,190 --> 00:00:57,160 Tuttavia, ci viene l'idea che qualcosa non va 14 00:00:57,160 --> 00:01:02,890 qui e mentre devi ancora pensare al problema e non puoi usare ciecamente quella soluzione guardando quel 15 00:01:02,890 --> 00:01:06,700 codice, a un certo punto dovresti scoprire che manca una parentesi. 16 00:01:07,030 --> 00:01:12,670 Anche se lo dimentichi e salvi questo, diciamo, allora il bundle Javascript verrà creato qui, come vedi 17 00:01:12,670 --> 00:01:18,520 ho lanciato questo su Android e iOS e ora stiamo ottenendo questa schermata di errore rossa di cui 18 00:01:18,520 --> 00:01:20,440 stavo parlando e di nuovo 19 00:01:20,800 --> 00:01:23,280 qui, possiamo semplicemente leggere il messaggio di errore. 20 00:01:23,410 --> 00:01:29,780 Ci sta ancora indicando la soluzione sbagliata, in attesa di una virgola ma ci indica la giusta riga 21 00:01:29,830 --> 00:01:36,580 di codice, qui vedi evidenzia questo titolo del pulsante aggiungi nuova linea di obiettivo, quindi ci mostra ancora dove dovremmo 22 00:01:37,060 --> 00:01:41,170 cercare e che il problema è probabilmente derivante da questa linea. 23 00:01:41,170 --> 00:01:48,490 Otteniamo lo stesso errore tra l'altro in questa console e anche nei nostri strumenti di sviluppo expo qui, lì vedi lo stesso messaggio di 24 00:01:48,490 --> 00:01:53,470 errore anche con un suggerimento sulla linea da cui proviene questo errore, quindi stai ricevendo un 25 00:01:53,470 --> 00:01:58,770 sacco di aiuto per rintracciare questo problema. Ora qui, sfortunatamente, non ho ancora capito 26 00:01:58,780 --> 00:02:04,270 che ho risolto questo errore e quindi qui, vediamo che si è bloccato, su iOS 27 00:02:04,270 --> 00:02:05,650 su Android, non si 28 00:02:05,650 --> 00:02:07,690 sta ricaricando. Ora su 29 00:02:07,690 --> 00:02:10,000 Android, vediamo un comando che possiamo usare per 30 00:02:10,090 --> 00:02:16,240 ricaricare l'app, possiamo cliccare lì o premere due volte r per ricaricare ma non sta ancora raccogliendo la modifica qui anche 31 00:02:16,240 --> 00:02:18,010 se l'ho riparata nel codice, quindi 32 00:02:18,010 --> 00:02:21,850 una soluzione qui è basta semplicemente arrestare il pacchetto o riavviare npm start. 33 00:02:21,970 --> 00:02:27,910 Ciò accade raramente ma a volte si interrompe e quindi semplicemente riavviare questo processo di avvio di npm 34 00:02:27,910 --> 00:02:29,480 è la cosa da 35 00:02:29,530 --> 00:02:35,500 fare e con quello, lo eseguirò di nuovo su Android premendo ae su iOS premendo i e ora questo 36 00:02:35,570 --> 00:02:37,850 dovrebbe riavviare l'app su questi dispositivi . 37 00:02:37,870 --> 00:02:43,540 Ancora una volta, questo accadrà raramente, ma a volte succede e puoi semplicemente riavviarlo 38 00:02:43,540 --> 00:02:45,500 per farlo funzionare correttamente. 39 00:02:45,520 --> 00:02:50,380 Ora, con quello in esecuzione di nuovo, lascia che ti mostri un esempio per un messaggio di errore che stai arrivando dove 40 00:02:50,380 --> 00:02:53,800 non hai un errore di sintassi ma hai ancora un chiaro bug nel tuo codice. 41 00:02:54,640 --> 00:03:02,830 Diciamo che quando aggiungiamo un obiettivo qui con il titolo dell'obiettivo, aggiungiamo un controllo in cui vediamo se la lunghezza del titolo dell'obiettivo è maggiore 42 00:03:02,950 --> 00:03:09,520 di zero per verificare che il valore non sia vuoto o effettivamente che sia uguale a zero, il che significa 43 00:03:09,520 --> 00:03:11,700 che l'utente non ha fatto Inserire un 44 00:03:11,700 --> 00:03:17,740 titolo e in questo caso, ritorniamo, il che significa che non aggiungeremo questo obiettivo qui e non 45 00:03:17,740 --> 00:03:18,790 chiuderemo il 46 00:03:18,790 --> 00:03:21,610 modale, quindi ignoriamo l'input dell'utente perché è vuoto. 47 00:03:21,640 --> 00:03:23,130 Potremmo voler mostrare un 48 00:03:23,140 --> 00:03:26,470 messaggio di errore, ma per ora lo faremo in questo modo. 49 00:03:26,540 --> 00:03:29,120 Ora, quando lo 50 00:03:29,120 --> 00:03:30,230 facciamo, 51 00:03:30,230 --> 00:03:37,400 generalmente funzionerà bene qui, giusto? Se lo salvo e torniamo qui, lo apro e faccio clic su Aggiungi, vedi che 52 00:03:37,430 --> 00:03:40,650 non riesco ad aggiungere un obiettivo vuoto, devo inserire qualcosa affinché questo scompaia. 53 00:03:40,670 --> 00:03:47,030 Ora diciamo nel nostro componente di input dell'obiettivo dove stiamo recuperando l'input dell'utente, dove 54 00:03:47,030 --> 00:03:55,990 poi lo inoltriamo chiamando aggiungi obiettivo qui, ci dimentichiamo di farlo, inoltriamo null qui o non inoltriamo nulla perché 55 00:03:55,990 --> 00:04:02,200 abbiamo semplicemente dimenticato di aggiungere qui. Ora la nostra app si avvia bene, non si 56 00:04:02,200 --> 00:04:10,760 interrompe immediatamente perché non abbiamo un errore chiaro nel nostro codice, nessun errore di sintassi ma se inserisco qualcosa qui e faccio clic su Aggiungi, divento indefinito 57 00:04:10,820 --> 00:04:14,510 non è un oggetto, valutando la lunghezza del titolo dell'obiettivo e 58 00:04:14,540 --> 00:04:18,170 di nuovo, questo è un messaggio di errore che ci aiuta. 59 00:04:18,170 --> 00:04:24,680 Ci informa che il problema ha a che fare con qualcosa che non è definito e che è correlato a 60 00:04:24,680 --> 00:04:27,280 questo controllo della lunghezza del titolo dell'obiettivo 61 00:04:27,470 --> 00:04:33,130 e quindi potresti immergerti nel luogo in cui accedi alla lunghezza del titolo dell'obiettivo e rintracciare il problema. 62 00:04:33,320 --> 00:04:39,020 Quindi abbiamo problemi a raggiungere la lunghezza del titolo dell'obiettivo perché non è definito come sembra. Lo stiamo ottenendo qui, quindi l'errore non 63 00:04:39,020 --> 00:04:39,800 è 64 00:04:39,800 --> 00:04:45,320 certamente qui, ma andiamo nel punto in cui viene chiamato Aggiungi gestore degli obiettivi 65 00:04:45,320 --> 00:04:46,130 alla fine. 66 00:04:46,130 --> 00:04:51,620 Ora, se ricordi, lo stiamo passando al puntale su aggiungi obiettivo qui sull'input obiettivo, quindi dovremmo 67 00:04:51,620 --> 00:04:56,780 probabilmente andare all'input obiettivo che puoi comunque tenere tenendo il comando o il controllo e 68 00:04:56,780 --> 00:05:04,460 facendo clic sul nome del componente. Bene, chiediamo di aggiungere un obiettivo qui e oh, qui vediamo qual è l'errore. Ora, ovviamente, in questo caso ho costruito questo 69 00:05:04,460 --> 00:05:08,360 errore qui, ma ottieni chiaramente il mio punto, questo è un errore che 70 00:05:08,360 --> 00:05:13,790 potresti certamente avere nel tuo codice in cui ti sei dimenticato di aggiungerlo, dove potresti cambiare il modo 71 00:05:13,790 --> 00:05:19,120 in cui funziona il tuo codice e hai dimenticato di regolare in tutti i posti e quindi, improvvisamente 72 00:05:19,130 --> 00:05:20,610 stai ricevendo questo errore. 73 00:05:20,720 --> 00:05:23,900 Ora il messaggio di errore ci ha aiutato a trovare il problema.