Maintenant, nous savons comment nous pouvons stocker et récupérer des données, bien sûr dans notre application, nous pouvons également modifier et supprimer des données.
Alors assurons-nous que cela fonctionne aussi bien et pour cela, je vais
revenir à mes actions et là-bas, dans le fichier d'actions des produits, nous avons notre créateur d'action de mise à jour du produit ici.
Maintenant, comme auparavant, je vais maintenant changer cela pour retourner une répartition
asynchrone, puis à la fin, là-bas, répartir cette action ici, alors déplacez-la là-bas et appelez la fonction de répartition ici que nous obtenons
via Redux Thunk et avant Pour ce
faire, nous pouvons maintenant contacter le serveur et y mettre à jour nos données.
Maintenant, ce sera assez simple, nous pouvons simplement utiliser à nouveau la syntaxe de create product, ceci ici, donc seule la demande
de récupération devrait suffire ici et faire cela avant d'envoyer, merci d'attendre, car cette fonction d'expédition sera invisible. est enveloppé dans
le bloqué qui appartient à cette promesse mais nous devons modifier cette demande, l'URL par
exemple n'est pas
entièrement correcte, elle pointe vers le produit mais maintenant nous voulons pointer vers un produit spécifique, le
seul produit que nous voulons mise à jour. Par conséquent, j'utiliserai ici une syntaxe Javascript
différente avec des graduations au lieu de guillemets simples qui créent toujours une chaîne mais une
chaîne dans laquelle je peux facilement injecter des données dynamiques et j'ajouterai un nouveau segment après les produits avant. json et nous pouvons maintenant injecter des données avec cette syntaxe $ \ et c'est du
Javascript vanille, pas spécifique à React Native, c'est juste du Javascript et ici je veux
ajouter mon ID, pour qu'à la fin je cible cette URL, puis le noeud produits puis cette ID. Bien sûr, si vous utilisez une autre API, Firebase les URL auxquelles vous devez envoyer votre demande
différeront, alors vous devriez avoir une
documentation API qui vous indique quelles URL sont acceptées ou si vous écrivez votre
propre API, alors vous devrait certainement savoir où vous pouvez envoyer des demandes. C'est ce que Firebase veut et la méthode de mise à jour ne devrait pas non
plus être post mais patch ou mise. Put remplacera entièrement la ressource avec
les nouvelles données, patch la mettra à jour aux endroits
où vous lui direz de la mettre à jour et c'est ce que je veux ici. Je dois également ajouter mes en-têtes et maintenant ajouter également un corps avec le titre, la description et
l'imageUrl mais bien sûr pas avec le prix car nous
n'obtenons pas cela et nous ne voulons pas y toucher et cela
enverra la demande où Firebase ne modifiera automatiquement ces champs sur le produit qu'avec l'ID que nous ciblons. Maintenant, je n'ai plus besoin de stocker la réponse dans une constante parce que je
m'en fiche de toute façon, il est
juste important d'attendre que cela se termine et avec ça, nous devrions être bons. Si nous enregistrons maintenant cela et que nous allons ici pour administrer et commencer à modifier cela
et peut-être ajouter un point d'exclamation ici et ensuite important, cliquez ailleurs
pour que ce redéclenche en raison de notre logique de formulaire et soumette ses nouvelles données et nous cliquons ensuite sur
cette coche, nous sommes repris et nous voyons une chemise blanche ici, nous voyons aussi cela sur Firebase, donc cela fonctionne. C'est donc ainsi que nous pouvons mettre à jour les données, et maintenant la suppression? Pour cela revenons à nos actions et pour la suppression, nous avons
notre créateur d'actions. Maintenant, tout comme auparavant,
je suis revenu ici en tant que
fonction asynchrone qui obtient la répartition en tant qu'argument et où dans cette fonction, nous envoyons
finalement cette action qui atteint notre réducteur et avant d'y arriver, nous pouvons à nouveau envoyer une demande. Demande qui ressemble à ceci, je vais copier cette partie ici, ne se soucie pas vraiment de
la réponse, juste comme ça, attendez d'aller chercher. Maintenant, l'URL est incorrecte, tout comme pour la mise à jour, je veux y ajouter
mon ID, donc j'utiliserai des ticks en arrière pour pouvoir utiliser
à nouveau cette syntaxe d'injection et ajouter l'ID du produit ici, envoyer une demande de suppression et nous avons gagné pas besoin
de définir un en-tête parce que nous n'aurons pas non plus de corps, donc nous pouvons nous débarrasser de tout cela, juste
la méthode est importante et que nous attendons et donc maintenant, nous devrions également pouvoir supprimer les données. Nous pouvons y jeter un coup d'œil, si je crée un nouveau produit factice que je peux facilement supprimer sans trop
en perdre, comme ça, si je l'enregistre, si je clique
sur supprimer ici, cliquez sur oui c'est parti ici et aussi on l'a vu pendant une fraction de seconde ici, il a également été supprimé sur Firebase. C'est ainsi que nous pouvons également mettre à
jour et supprimer.