1 00:00:02,260 --> 00:00:07,960 Pour cela, je suis de retour dans cette application sur laquelle nous avons travaillé, cette application d'objectifs où nous pouvons 2 00:00:07,960 --> 00:00:13,510 ajouter des objectifs ici et voici le code que nous avons écrit là-bas, je n'y ai rien changé. 3 00:00:13,630 --> 00:00:19,370 Maintenant, permettez-moi de présenter les différentes choses qui pourraient mal tourner et comment vous les corrigez. 4 00:00:20,290 --> 00:00:21,760 Commençons donc simplement, disons 5 00:00:21,790 --> 00:00:28,930 que nous avons une erreur de syntaxe simple, ici où nous ouvrons notre modal à la fin en définissant le 6 00:00:28,930 --> 00:00:30,000 mode d'ajout 7 00:00:30,040 --> 00:00:35,860 sur true, permettez-moi de supprimer ce crochet de fermeture. Maintenant, c'est une erreur de syntaxe claire, c'est une erreur que nous 8 00:00:35,860 --> 00:00:40,090 pouvons et que nous devons totalement éviter car en tant que développeur, nous avons fait une erreur claire. 9 00:00:40,090 --> 00:00:45,490 Maintenant, la bonne chose est que notre IDE le reconnaît et nous donne un avertissement ici, mais malheureusement, l'erreur 10 00:00:45,520 --> 00:00:47,890 qu'il montre ici n'est pas entièrement correcte, 11 00:00:47,890 --> 00:00:50,370 il dit qu'il attend une virgule, eh bien en 12 00:00:50,380 --> 00:00:54,120 fait ce n'est pas le vrai problème, le vrai problème est un support manquant. 13 00:00:54,190 --> 00:00:57,160 Pourtant, nous avons une idée que quelque chose ne va pas 14 00:00:57,160 --> 00:01:02,890 ici et bien que vous ayez encore besoin de réfléchir au problème et que vous ne puissiez pas utiliser aveuglément cette solution 15 00:01:02,890 --> 00:01:06,700 en regardant ce code, à un moment donné, vous devriez découvrir qu'il manque un support. 16 00:01:07,030 --> 00:01:12,670 Même si vous oubliez cela et que vous enregistrez cela, disons, le bundle Javascript sera construit ici, 17 00:01:12,670 --> 00:01:18,520 comme vous le voyez, j'ai lancé cela sur Android et iOS et maintenant nous obtenons cet écran d'erreur rouge 18 00:01:18,520 --> 00:01:20,440 dont je parlais et encore 19 00:01:20,800 --> 00:01:23,280 ici, nous pouvons simplement lire le message d'erreur. 20 00:01:23,410 --> 00:01:29,410 Il nous indique toujours la mauvaise solution, en attendant une virgule, mais il nous pointe vers la bonne ligne de 21 00:01:29,410 --> 00:01:29,780 code, 22 00:01:29,830 --> 00:01:36,580 ici vous voyez qu'il met en évidence ce titre de bouton ajouter une nouvelle ligne de but, donc il nous montre toujours où 23 00:01:37,060 --> 00:01:41,170 nous devons regarder et que le problème est provenant probablement de cette ligne. 24 00:01:41,170 --> 00:01:48,490 Nous obtenons la même erreur en passant ici dans cette console et également dans nos outils de développement expo ici, là vous voyez le 25 00:01:48,490 --> 00:01:53,470 même message d'erreur avec un indice sur la ligne d'où cette erreur provient, donc vous obtenez 26 00:01:53,470 --> 00:01:58,770 beaucoup de aide pour localiser ce problème. Maintenant ici, malheureusement, je ne comprends toujours pas 27 00:01:58,780 --> 00:02:04,270 que j'ai corrigé cette erreur et donc ici, nous le voyons se bloquer, sur iOS sur 28 00:02:04,270 --> 00:02:05,650 Android, ce n'est pas 29 00:02:05,650 --> 00:02:07,690 le rechargement. Maintenant, sur Android, 30 00:02:07,690 --> 00:02:10,000 nous voyons une commande que nous pouvons utiliser pour 31 00:02:10,090 --> 00:02:16,240 recharger l'application, nous pouvons cliquer là-bas ou appuyer deux fois sur r pour recharger mais il ne reprend toujours pas la modification ici même 32 00:02:16,240 --> 00:02:18,010 si j'ai corrigé cela dans le 33 00:02:18,010 --> 00:02:21,850 code, donc une solution ici est de arrêtez simplement le package ou redémarrez npm start. 34 00:02:21,970 --> 00:02:27,910 Cela se produit rarement mais parfois cela se casse, puis redémarrer simplement ce processus de démarrage npm est la 35 00:02:27,910 --> 00:02:29,480 chose à faire et 36 00:02:29,530 --> 00:02:35,500 avec cela, je le relancerai sur Android en appuyant sur a et sur iOS en appuyant sur i et maintenant 37 00:02:35,570 --> 00:02:37,850 cela devrait relancer l'application sur ces appareils . 38 00:02:37,870 --> 00:02:43,540 Encore une fois, cela se produira rarement mais parfois cela se produit simplement et vous pouvez simplement le 39 00:02:43,540 --> 00:02:45,500 redémarrer pour que cela fonctionne correctement. 40 00:02:45,520 --> 00:02:50,380 Maintenant que cela fonctionne à nouveau, permettez-moi de vous montrer un exemple de message d'erreur que vous obtenez là où vous n'avez 41 00:02:50,380 --> 00:02:53,800 pas d'erreur de syntaxe mais vous avez toujours un bug clair dans votre code. 42 00:02:54,640 --> 00:03:02,830 Disons que lorsque nous ajoutons un objectif ici avec le titre de l'objectif, nous ajoutons une vérification où nous voyons si la longueur du titre de l'objectif est supérieure 43 00:03:02,950 --> 00:03:09,520 à zéro pour vérifier que la valeur n'est pas vide ou effectivement qu'elle est égale à zéro, ce qui signifie que l'utilisateur n'a pas 44 00:03:09,520 --> 00:03:11,700 '' t entrez un titre et dans ce 45 00:03:11,700 --> 00:03:17,740 cas, nous revenons juste ce qui signifie que nous n'allons pas ajouter cet objectif ici et nous n'allons pas non plus 46 00:03:17,740 --> 00:03:18,790 fermer le modal, 47 00:03:18,790 --> 00:03:21,610 donc nous ignorons simplement l'entrée utilisateur car elle est vide. 48 00:03:21,640 --> 00:03:23,130 Nous pourrions vouloir afficher 49 00:03:23,140 --> 00:03:26,470 un message d'erreur, mais pour l'instant, nous allons le faire comme ceci. 50 00:03:26,540 --> 00:03:29,120 Maintenant, lorsque nous faisons 51 00:03:29,120 --> 00:03:30,230 cela, 52 00:03:30,230 --> 00:03:37,400 cela fonctionnera généralement bien ici, non? Si je l'enregistre et que nous revenons ici, l'ouvrons et je clique sur ajouter, vous voyez que je 53 00:03:37,430 --> 00:03:40,650 ne peux pas ajouter un objectif vide, je dois saisir quelque chose pour que cela disparaisse. 54 00:03:40,670 --> 00:03:47,030 Maintenant, disons dans notre composant d'entrée d'objectif où nous récupérons l'entrée utilisateur, où nous la transmettons 55 00:03:47,030 --> 00:03:55,990 ensuite en appelant ajouter objectif ici, nous oublions de le faire, nous transmettons null ici ou nous ne transmettons rien parce que 56 00:03:55,990 --> 00:04:02,200 nous avons simplement oublié d'ajouter ceci ici. Maintenant, notre application démarre très bien, elle ne se casse 57 00:04:02,200 --> 00:04:10,760 pas immédiatement car nous n'avons pas d'erreur claire dans notre code, pas d'erreur de syntaxe mais si j'entre quelque chose ici et que je clique sur ajouter, je ne 58 00:04:10,820 --> 00:04:14,510 suis pas défini n'est pas un objet, évaluant la longueur du titre de 59 00:04:14,540 --> 00:04:18,170 l'objectif et encore une fois, c'est un message d'erreur qui nous aide. 60 00:04:18,170 --> 00:04:24,680 Cela nous informe que le problème a quelque chose à voir avec quelque chose qui n'est pas défini et qu'il est lié à 61 00:04:24,680 --> 00:04:27,280 cette vérification de la longueur du titre de l'objectif, 62 00:04:27,470 --> 00:04:33,130 puis vous pouvez plonger à l'endroit où vous accédez à la longueur du titre de l'objectif et retracer le problème. 63 00:04:33,320 --> 00:04:39,020 Nous avons donc des problèmes pour obtenir la longueur du titre de but car il n'est pas défini comme il semble. Nous l'obtenons ici, donc l'erreur n'est certainement 64 00:04:39,020 --> 00:04:39,800 pas 65 00:04:39,800 --> 00:04:45,320 là, mais allons à l'endroit où le gestionnaire d'ajout de buts est appelé à 66 00:04:45,320 --> 00:04:46,130 la fin. 67 00:04:46,130 --> 00:04:51,620 Maintenant, si vous vous en souvenez, nous transmettons ceci à l'accessoire de but sur add here sur l'entrée d'objectif, nous 68 00:04:51,620 --> 00:04:56,780 devrions donc probablement aller à l'entrée d'objectif que vous pouvez également faire en maintenant la commande ou le contrôle 69 00:04:56,780 --> 00:05:04,460 et en cliquant sur le nom du composant. Eh bien là-dedans, nous appelons à ajouter un objectif ici et oh, ici nous voyons quelle est l'erreur. Maintenant, bien sûr, dans ce cas, j'ai construit 70 00:05:04,460 --> 00:05:08,360 cette erreur ici, mais vous comprenez mon point de vue, c'est une erreur 71 00:05:08,360 --> 00:05:13,790 que vous pourriez certainement avoir dans votre code où vous avez oublié de l'ajouter, où vous pouvez peut-être changer 72 00:05:13,790 --> 00:05:19,120 la façon dont votre code fonctionne et vous avez oublié d'ajuster dans tous les endroits et donc, vous 73 00:05:19,130 --> 00:05:20,610 obtenez soudainement cette erreur. 74 00:05:20,720 --> 00:05:23,900 Maintenant, le message d'erreur nous a aidés à trouver le problème.