Discussions

Ne fonctionne pas sur la version 18 de React

Image

Bonjour Louis-Nicolas,

Ceci n'est pas vraiment une question, juste une remarque pour ceux qui suive ce cours (dans sa version actuelle) avec la V.18 de React. J'ai remarqué que la solution donnée dans le cours ne fonctionne pas, il faut ajouter le paramètre index dans les paramètres de la props click sinon React nous renvoi une erreur.

J'en ai déduis que cela provenait de la version de React, dis moi si je me trompe, je met le code ci-dessous :

const buttonClickedHandler = (nouveauNom, index) => {   
    const nouveauxEleves = [...eleves];
    nouveauxEleves[index].nom = nouveauNom;
    setEleves(nouveauxEleves);
    setTransformation(true);
  }

let cartes = eleves.map((eleve, index) => {
    return (
      <Eleve 
        key={index}
        nom={eleve.nom} 
        moyenne={eleve.moyenne}
        click={ () => buttonClickedHandler("Léa", index)} 
        removed={() => removeClickHandler(index)}
      >
        {eleve.citation} 
      </Eleve>
    );
  });
5 réponses
Image
Louis-Nicolas Leuillet
Le 24/06/2022 à 13:34

Bonjour Antoine.

Tu as parfaitement raison. Je prévoie une mise à jour totale du cours en septembre, merci pour ton code.

Image
4.No.NY.MouS
Le 24/06/2022 à 13:40

Je t'en prie c'est avec plaisir.

J'ai tout de même remarqué quand faisant cela le boutton "transformer le premier eleve" ne fonctionne plus, j'ai une erreur :

 

App.js:61 Uncaught TypeError: Cannot set property 'name' of undefined
    at buttonClickedHandler (App.js:61)

 

J'essai de trouver une solution pour modifier ça dans le post. Si tu as la solution ou un indice je suis preneur mais vais quand même essayer de trouver ça par moi-même ;)

 

Hâte d'être en Septembre pour voir ça :)

Image
Louis-Nicolas Leuillet
Le 24/06/2022 à 13:52

C'est toujours le même code aussi ? Il n'y a pas de "name" en propriété c'est pour ça :)

Image
4.No.NY.MouS
Le 24/06/2022 à 14:21

Oui le code reste inchangé par rapport à ta version de correction, le seul changement est juste dans le code au dessus concernant la Propriété click.

Effectivement ça paraît logique une fois que c'est dit ;) 

Merci pour la solution :)

Image
Youssouff Lyy
Le 09/11/2022 à 18:01

Bonjour une question qui me tracasse pourquoi eleves qu'on n'a mis dans le state vaut toutes la div Eleve avec son css ext.. donc lorsqu'on supprime eleve c'est toutes la carte qui est supprimé. je croyait que notre state stocké juste nos données et non pas la carte entiere donc dans ma logique en suppriment avec splice je m'attendait a voir disparaitre les données de nos éleves (Eva Dupont,  age ...) et non pas toutes la Div carte. C'est pourquoi je me dis qu'il a quelques chose que j'ai loupé ou que je n'ai pas saisie avec l'utilisation du state

Image
Inscrivez-vous ou connectez-vous pour participer à la discussion.

Informations

Créée le 24 juin 2022 13:24
Dernière activité le 24 juin 2022 13:24