Donc, lorsque nous visitons notre zone d'administration et que nous voulons ensuite ajouter un nouveau produit, nous obtenons cette zone ici.
Nous obtenons cette erreur que get param n'est pas une fonction.
En effet, avec la réactivation, la fonction get get param days que vous utiliseriez pour obtenir les paramètres d'une action
de navigation donnée a été supprimée.
Voyons donc ce que nous pouvons faire d'autre pour cela.
Allons à cet écran de produit ajouté qui est l'écran que nous essayons de visiter et
qui échoue ici et nous utilisons certainement get param ici mais aussi ici dans le composant principal de l'écran de produit ajouté.
Maintenant, avec la réactivation 5, il n'y a plus de fonction get param.
Au lieu de cela, il y a maintenant un nouvel accessoire en plus de cet accessoire de navigation que vous devez également effectuer certaines
actions comme naviguer, mais vous avez maintenant un nouvel accessoire, un projet de baleine, qui est l'accessoire racine qui n'était pas
disponible auparavant.
Maintenant, il existe maintenant sur cet accessoire racine, vous aurez juste la clé d'un parent nommée.
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
avec tous vos parents que vous recevez sous forme de paires de valeurs clés.
Ici, nous pouvons ensuite extraire facilement le parent que nous voulons obtenir.
Donc, avant de vouloir obtenir le produit I. RÉ. param.
Alors maintenant, nous accédons au produit I. RÉ. et cela devrait fonctionner.
En fonction de votre application, il se peut que vous n'obteniez pas toujours une valeur pour ce paramètre.
Donc, parfois, il peut être indéfini et pour cette raison, vous pouvez bien sûr tous vérifier si cela
est nul ou si cela n'est pas défini avant d'essayer de l'utiliser.
Maintenant, quand il s'agit de définir des parents qui utilisaient également ici dans ce composant ici, cela existe toujours, mais pour la
raison que nous l'utilisons ici, nous n'avons plus besoin de l'utiliser.
Ici, nous l'utilisions comme un travail autour de Q Obtenir essentiellement des données de notre corps de composant.
Donc, de l'intérieur de notre fonction de composant dans les options de navigation là-bas.
Droite.
La fonction de soumission et aussi ici notre produit I. RÉ. nous extrayions ces données comme celles-ci
pour le produit I. RÉ. c'est bien parce que c'est une information générale spécifique à
l'itinéraire qui nous intéresse.
Nous pouvons toujours extraire comme ça, mais obtenir la fonction de notre composant vers les options de
navigation comme nous l'avons fait auparavant était vraiment un peu hacky et pas vraiment comment nous voulons le faire.
Maintenant, pour le moment, je garderai la même approche qu'auparavant, mais une chose doit changer.
Nous n'avons plus de param.
Au lieu de cela, les données nav sont un objet qui a également ce nouvel accessoire racine ce nouvel objet
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.
Ici, nous avons le produit I. RÉ. comme ça avec tout cela à l'écart.
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
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
de navigation soumises.
Alors qu'est-ce qui ne va pas là-bas.
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
nous sommes en mode produit publicitaire, ce que nous sommes si nous avons simplement cliqué sur ce bouton en
haut à droite. coin.
Donc, s'il n'y a pas de parents passés à l'écran, cette clé de parents entière ici reste indéfinie comme
valeur.
Il ne contient pas d'objet vide sans parents.
Elle-même n'est pas définie à la place.
C'est donc important de garder à l'esprit.
Les parents eux-mêmes ne seront pas définis s'il n'y a pas de parents.
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
de soumission n'est pas défini initialement car cela n'est fait qu'à partir du composant.
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
mais nous ajoutons.
Il n'y a donc pas de produit I. RÉ. introduit dans cet écran lorsque nous y accédons.
Alors, comment pouvons-nous nous assurer que nous n'obtenons pas d'erreur alors.
Nous devons simplement vérifier si les parents eux-mêmes sont définis ou non.
Et nous pourrions le faire ici en réécrivant ceci.
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
données sont vraies, ce n'est que si elles sont définies.
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
pas sur la recherche et sinon ils définiront la fonction de soumission.
Supposons maintenant que nous puissions répéter ce jour ou deux pour le titre de l'en-tête.
Maintenant, nous avons déjà une expression ternaire ici.
Nous pouvons imbriquer ces expressions mais pour le rendre un peu plus lisible, tout le fractionnement se fait sur plusieurs lignes.
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
le cas, alors je vais stocker les parents dans cette constante parents grossiers.
Sinon, je vais définir cela sur un objet vide.
Disons maintenant qu'en faisant cela, nous pouvons utiliser des parents grossiers ici et maintenant c'est soit comme un objet vide, auquel cas
nous pouvons accéder au produit I. RÉ. sans erreur, mais nous ne serons pas
définis en conséquence, par conséquent, nous serons en mode produit ou si des parents sont trouvés.
Ensuite, je définirai l'objet parents réel comme valeur pour les parents impolis et nous accéderons ensuite aux objets parents
réels là-bas.
Donc, dans tous les cas, cela ne devrait pas échouer et nous pouvons faire quelque chose de similaire dans la composante bien sûr,
nous essayons également d'agir comme nos parents.
Donc, ici, nous devons également vérifier si cela est réellement vrai.
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.
C'est donc une façon de contourner ce problème.
Et si nous sécurisons et rechargeons maintenant cette application, nous pouvons aller à l'écran d'administration, cliquer sur ce bouton et
charger cet écran ici avec succès afin d'ajouter un produit.
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
du livre ici.
Et avec cela, je peux soumettre ceci et cela fonctionne généralement ici est notre livre.
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é
Eh bien, cela ne fonctionne pas.
J'ai une erreur ici.
Nous devrons examiner cela, mais au moins cela fonctionne maintenant correctement en ce qui concerne les parents.
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
celui-ci ici avec la fonction de soumission où nous abusons des parents pour obtenir des données du corps du composant
vers nos options de navigation, car avec React Navigation 5, nous avons maintenant une meilleure façon d'y parvenir.