⊗jsrxPmSDSSC 35 of 57 menu

Modification de la structure du state dans Redux

La première étape que nous allons mettre en œuvre pour l'interaction de notre application Redux avec un serveur externe est la récupération des données qui y sont stockées au lancement de l'application. Mais auparavant, apportons quelques modifications à notre application.

Ouvrons notre application avec les produits, et dans celle-ci le fichier productsSlice.js. Remarquez la définition de initialState. Initialement, notre slice de produits productsSlice est un tableau contenant des objets (dans notre cas, il y en a deux) avec les données des produits. Premièrement, comme nous allons maintenant les charger depuis un serveur, nous devons les retirer de initialState. Deuxièmement, nous allons envoyer des requêtes API au serveur et il sera important de connaître leur statut. Compte tenu de ces deux points, retravaillons initialState. Que ce soit maintenant simplement un objet avec les champs products (initialement, il n'y aura aucune donnée ici, mais un tableau vide), status et error. Notre code pour initialState deviendra maintenant un peu plus court :

const initialState = { products: [], status: 'idle', error: null, }

Pour l'instant, nous avons défini le statut sur 'idle' (inactivité), car initialement nous n'envoyons aucune requête, mais en général, il changera et pourra prendre les valeurs 'loading', 'succeeded', 'failed'. N'oubliez pas que pour désigner le statut, vous pouvez choisir les noms qui vous conviendront.

Descendons plus bas dans le code. Suite au changement de initialState, nous devons également modifier le code, dans lequel nous travaillons avec ce state dans les fonctions réductrices. Regardons le code pour productAdded :

state.push(action.payload)

Maintenant, nous ajouterons les nouveaux produits non pas simplement dans le state pour les produits, mais dans sa propriété state.products. Par conséquent, remplaçons la ligne ci-dessus par :

state.products.push(action.payload)

En conséquence, effectuons les mêmes modifications pour le réducteur reactionClicked. Au lieu de :

const currentProduct = state.find((product) => product.id === productId)

Ce sera maintenant :

const currentProduct = state.products.find((product) => product.id === productId)

Remplacez vous-même state par state.products dans le code du réducteur productUpdated.

Ouvrez votre application avec les étudiants. Ouvrez dans celle-ci le fichier studentsSlice.js. Que votre initialState ait maintenant trois propriétés : students, status, error - retravaillez-le, comme montré dans la leçon.

Apportez les modifications correspondantes plus bas dans le code. Remplacez state par state.students dans le code de vos trois fonctions réductrices.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser