1 00:00:02,350 --> 00:00:15,370 Donc, lorsque nous visitons notre zone d'administration et que nous voulons ensuite ajouter un nouveau produit, nous obtenons cette zone ici. 2 00:00:15,430 --> 00:00:18,460 Nous obtenons cette erreur que get param n'est pas une fonction. 3 00:00:18,460 --> 00:00:28,270 En effet, avec la réactivation, la fonction get get param days que vous utiliseriez pour obtenir les paramètres d'une action 4 00:00:28,270 --> 00:00:31,600 de navigation donnée a été supprimée. 5 00:00:31,600 --> 00:00:35,170 Voyons donc ce que nous pouvons faire d'autre pour cela. 6 00:00:35,170 --> 00:00:41,800 Allons à cet écran de produit ajouté qui est l'écran que nous essayons de visiter et 7 00:00:41,890 --> 00:00:50,700 qui échoue ici et nous utilisons certainement get param ici mais aussi ici dans le composant principal de l'écran de produit ajouté. 8 00:00:50,850 --> 00:00:55,740 Maintenant, avec la réactivation 5, il n'y a plus de fonction get param. 9 00:00:55,770 --> 00:01:03,060 Au lieu de cela, il y a maintenant un nouvel accessoire en plus de cet accessoire de navigation que vous devez également effectuer certaines 10 00:01:03,060 --> 00:01:09,390 actions comme naviguer, mais vous avez maintenant un nouvel accessoire, un projet de baleine, qui est l'accessoire racine qui n'était pas 11 00:01:09,390 --> 00:01:10,310 disponible auparavant. 12 00:01:10,320 --> 00:01:17,490 Maintenant, il existe maintenant sur cet accessoire racine, vous aurez juste la clé d'un parent nommée. 13 00:01:17,490 --> 00:01:23,820 Les parents n'obtiennent pas de parents, ce n'est pas une fonction, c'est juste une clé nommée parents qui contient un objet 14 00:01:23,850 --> 00:01:28,340 avec tous vos parents que vous recevez sous forme de paires de valeurs clés. 15 00:01:28,350 --> 00:01:32,310 Ici, nous pouvons ensuite extraire facilement le parent que nous voulons obtenir. 16 00:01:32,310 --> 00:01:35,940 Donc, avant de vouloir obtenir le produit I. RÉ. param. 17 00:01:35,970 --> 00:01:41,980 Alors maintenant, nous accédons au produit I. RÉ. et cela devrait fonctionner. 18 00:01:42,150 --> 00:01:47,000 En fonction de votre application, il se peut que vous n'obteniez pas toujours une valeur pour ce paramètre. 19 00:01:47,010 --> 00:01:53,970 Donc, parfois, il peut être indéfini et pour cette raison, vous pouvez bien sûr tous vérifier si cela 20 00:01:54,240 --> 00:01:59,100 est nul ou si cela n'est pas défini avant d'essayer de l'utiliser. 21 00:01:59,110 --> 00:02:08,680 Maintenant, quand il s'agit de définir des parents qui utilisaient également ici dans ce composant ici, cela existe toujours, mais pour la 22 00:02:08,710 --> 00:02:13,770 raison que nous l'utilisons ici, nous n'avons plus besoin de l'utiliser. 23 00:02:13,840 --> 00:02:20,650 Ici, nous l'utilisions comme un travail autour de Q Obtenir essentiellement des données de notre corps de composant. 24 00:02:20,650 --> 00:02:25,960 Donc, de l'intérieur de notre fonction de composant dans les options de navigation là-bas. 25 00:02:25,960 --> 00:02:26,280 Droite. 26 00:02:26,290 --> 00:02:33,130 La fonction de soumission et aussi ici notre produit I. RÉ. nous extrayions ces données comme celles-ci 27 00:02:33,130 --> 00:02:38,710 pour le produit I. RÉ. c'est bien parce que c'est une information générale spécifique à 28 00:02:38,710 --> 00:02:39,580 l'itinéraire qui nous intéresse. 29 00:02:39,800 --> 00:02:45,430 Nous pouvons toujours extraire comme ça, mais obtenir la fonction de notre composant vers les options de 30 00:02:45,460 --> 00:02:51,460 navigation comme nous l'avons fait auparavant était vraiment un peu hacky et pas vraiment comment nous voulons le faire. 31 00:02:51,460 --> 00:02:56,640 Maintenant, pour le moment, je garderai la même approche qu'auparavant, mais une chose doit changer. 32 00:02:56,650 --> 00:02:58,610 Nous n'avons plus de param. 33 00:02:58,700 --> 00:03:06,040 Au lieu de cela, les données nav sont un objet qui a également ce nouvel accessoire racine ce nouvel objet 34 00:03:06,280 --> 00:03:15,910 racine afin que nous puissions accéder aux données nav dot root dot perms dot submit et obtenir la fonction de soumission comme celle-ci et la même chose là-bas. 35 00:03:15,920 --> 00:03:24,280 Ici, nous avons le produit I. RÉ. comme ça avec tout cela à l'écart. 36 00:03:24,280 --> 00:03:33,250 Si nous enregistrons maintenant cette reconstruction ici et avec elle en cours de reconstruction si nous allons maintenant à nouveau à l'administrateur et cliquez sur cette 37 00:03:33,250 --> 00:03:40,500 icône, j'obtiens une erreur selon laquelle undefined n'est pas un objet lorsqu'il a essayé d'évaluer les perms root de données 38 00:03:40,510 --> 00:03:41,770 de navigation soumises. 39 00:03:42,310 --> 00:03:44,920 Alors qu'est-ce qui ne va pas là-bas. 40 00:03:44,950 --> 00:03:53,230 Le problème auquel nous sommes confrontés ici est que les parents ne sont pas toujours définis si cet écran est chargé sans parents, comme c'est le cas lorsque 41 00:03:53,230 --> 00:03:58,870 nous sommes en mode produit publicitaire, ce que nous sommes si nous avons simplement cliqué sur ce bouton en 42 00:03:58,870 --> 00:04:00,400 haut à droite. coin. 43 00:04:00,430 --> 00:04:07,270 Donc, s'il n'y a pas de parents passés à l'écran, cette clé de parents entière ici reste indéfinie comme 44 00:04:07,270 --> 00:04:07,750 valeur. 45 00:04:07,780 --> 00:04:10,590 Il ne contient pas d'objet vide sans parents. 46 00:04:10,740 --> 00:04:12,730 Elle-même n'est pas définie à la place. 47 00:04:13,090 --> 00:04:14,730 C'est donc important de garder à l'esprit. 48 00:04:14,800 --> 00:04:19,020 Les parents eux-mêmes ne seront pas définis s'il n'y a pas de parents. 49 00:04:19,090 --> 00:04:25,810 Et si nous ouvrons cet écran afin d'ajouter un produit, en effet, il n'y a pas de parents au départ, ce paramètre 50 00:04:25,870 --> 00:04:30,410 de soumission n'est pas défini initialement car cela n'est fait qu'à partir du composant. 51 00:04:30,430 --> 00:04:36,280 Donc, après que l'écran a été chargé et le produit I. RÉ. n'est certainement pas défini, car nous ne modifions pas 52 00:04:36,310 --> 00:04:37,000 mais nous ajoutons. 53 00:04:37,000 --> 00:04:42,640 Il n'y a donc pas de produit I. RÉ. introduit dans cet écran lorsque nous y accédons. 54 00:04:42,670 --> 00:04:46,540 Alors, comment pouvons-nous nous assurer que nous n'obtenons pas d'erreur alors. 55 00:04:46,540 --> 00:04:52,240 Nous devons simplement vérifier si les parents eux-mêmes sont définis ou non. 56 00:04:52,240 --> 00:04:56,460 Et nous pourrions le faire ici en réécrivant ceci. 57 00:04:56,530 --> 00:05:03,670 Nous avons donc d'abord essayé d'accéder aux parents, puis nous utilisons cela comme condition dans une expression ternaire et disons si les 58 00:05:03,670 --> 00:05:07,320 données sont vraies, ce n'est que si elles sont définies. 59 00:05:07,510 --> 00:05:15,260 Donc, si c'est vraiment le cas, nous voulons essayer d'accéder aux parents pour soumettre parce que nous savons que les parents au moins ne sont 60 00:05:15,260 --> 00:05:19,160 pas sur la recherche et sinon ils définiront la fonction de soumission. 61 00:05:19,160 --> 00:05:23,810 Supposons maintenant que nous puissions répéter ce jour ou deux pour le titre de l'en-tête. 62 00:05:23,870 --> 00:05:26,320 Maintenant, nous avons déjà une expression ternaire ici. 63 00:05:26,360 --> 00:05:32,600 Nous pouvons imbriquer ces expressions mais pour le rendre un peu plus lisible, tout le fractionnement se fait sur plusieurs lignes. 64 00:05:32,690 --> 00:05:41,730 Et je vais avoir mes parents grossiers ici où je vérifie essentiellement si des parents grossiers de données NAF sont une chose si c'est 65 00:05:42,330 --> 00:05:47,250 le cas, alors je vais stocker les parents dans cette constante parents grossiers. 66 00:05:47,250 --> 00:05:49,550 Sinon, je vais définir cela sur un objet vide. 67 00:05:49,560 --> 00:05:56,400 Disons maintenant qu'en faisant cela, nous pouvons utiliser des parents grossiers ici et maintenant c'est soit comme un objet vide, auquel cas 68 00:05:56,400 --> 00:06:02,250 nous pouvons accéder au produit I. RÉ. sans erreur, mais nous ne serons pas 69 00:06:02,250 --> 00:06:06,090 définis en conséquence, par conséquent, nous serons en mode produit ou si des parents sont trouvés. 70 00:06:06,090 --> 00:06:12,360 Ensuite, je définirai l'objet parents réel comme valeur pour les parents impolis et nous accéderons ensuite aux objets parents 71 00:06:12,360 --> 00:06:13,240 réels là-bas. 72 00:06:13,260 --> 00:06:18,900 Donc, dans tous les cas, cela ne devrait pas échouer et nous pouvons faire quelque chose de similaire dans la composante bien sûr, 73 00:06:18,930 --> 00:06:20,820 nous essayons également d'agir comme nos parents. 74 00:06:21,150 --> 00:06:24,430 Donc, ici, nous devons également vérifier si cela est réellement vrai. 75 00:06:24,570 --> 00:06:31,590 Si elle est définie et si elle l'est, nous axons les parents et sinon les idées de produits définies sur NULL. 76 00:06:31,590 --> 00:06:33,670 C'est donc une façon de contourner ce problème. 77 00:06:33,690 --> 00:06:41,960 Et si nous sécurisons et rechargeons maintenant cette application, nous pouvons aller à l'écran d'administration, cliquer sur ce bouton et 78 00:06:42,380 --> 00:06:47,070 charger cet écran ici avec succès afin d'ajouter un produit. 79 00:06:47,180 --> 00:07:00,130 Maintenant, je vais rapidement tester cela avec un livre entrer l'image que vous êtes L ici et un prix ici et tester la description 80 00:07:00,160 --> 00:07:02,000 du livre ici. 81 00:07:02,220 --> 00:07:09,190 Et avec cela, je peux soumettre ceci et cela fonctionne généralement ici est notre livre. 82 00:07:09,230 --> 00:07:15,050 Maintenant, cliquez sur éditer, nous chargeons cet écran d'édition avec les données du livre afin que tout semble bien et si j'ai supprimé 83 00:07:17,480 --> 00:07:19,300 Eh bien, cela ne fonctionne pas. 84 00:07:19,310 --> 00:07:20,760 J'ai une erreur ici. 85 00:07:20,780 --> 00:07:25,430 Nous devrons examiner cela, mais au moins cela fonctionne maintenant correctement en ce qui concerne les parents. 86 00:07:25,700 --> 00:07:32,840 Cependant, j'ai mentionné qu'il y a une chose que nous pouvons améliorer à propos des parents impolis si nous avons un cas comme 87 00:07:32,840 --> 00:07:39,110 celui-ci ici avec la fonction de soumission où nous abusons des parents pour obtenir des données du corps du composant 88 00:07:39,110 --> 00:07:44,930 vers nos options de navigation, car avec React Navigation 5, nous avons maintenant une meilleure façon d'y parvenir.