Topic de AhuraxTmax :

ReactJS interrogations hook

Supprimé
  • 1

Bonsoir

Mon hook
const [fields, setFields] = useState([{ text: "" }])

Le contenu d'une fonction qui modifie le state (supprime un élément)

const list = [...fields]
list.splice(index, 1)
setFields(list)

Question
Pourquoi ces 2 lignes

list.splice(index, 1)
setFields(list)

produisent un résultat différent de

setFields(list.splice(index, 1))

Est-ce que c'est parce que le type React.SetStateAction est allergique aux fonctions et qu'il faut impérativement lui passer un primitive ou un array ? C'est une simple curiosité en vrai ça change rien à ma vie :(

La valeur de retour de list.splice ne correspond pas à un objet comme « list »
Quand le code est 2 ligne, l'élément du state est bien supprimé
Quand le code est en 1 ligne, ça produit un résultat bizarre (tout le state est supprimé sauf le 1ère élement... wtf)

Le 23 décembre 2021 à 21:08:10 xShogo a écrit :
La valeur de retour de list.splice ne correspond pas à un objet comme « list »

Hmmm t'es sûr ?
@returns — An array containing the elements that were deleted.

Ils veulent dire par là que l'objet sur lequel on applique la méthode est modifié mais qu'il n'y a pas de valeur de retour ? Je t'avoue que ça prête à confusion, moi j'ai lu "return" j'ai compris "return" (au sens strict) mais t'as très sûrement raison :(

Le 23 décembre 2021 à 21:08:57 456fezz a écrit :
Apprend un vrai langage

Je déteste JS, mais le typescript rend l'expérience agréable. Mais mon coup de cœur restera à jamais C# et python

Merci xShogo tu m'as guidé vers la bonne direction, j'avais lu trop vite la doc de splice. (bon en fait j'avais à peine lu :rire:)
Le retour de splice correspond aux éléments supprimés :hap:

Le 23 décembre 2021 à 21:08:57 :
Apprend un vrai langage

T'as jamais codé le moindre projet de ta vie évite de parler stp

Le 23 décembre 2021 à 21:17:09 lucien_bramart a écrit :
Le retour de splice correspond aux éléments supprimés :hap:

Oui mon cerveau a lu que ça correspondait au tableau original sans l'élément supprimé et cette idée est restée figée dans ma tête parce que je suis demeuré https://image.noelshack.com/fichiers/2018/10/7/1520796676-sans-titre-7.jpg

Le 23 décembre 2021 à 21:22:30 :

Le 23 décembre 2021 à 21:17:09 lucien_bramart a écrit :
Le retour de splice correspond aux éléments supprimés :hap:

Oui mon cerveau a lu que ça correspondait au tableau original sans l'élément supprimé et cette idée est restée figée dans ma tête parce que je suis demeuré https://image.noelshack.com/fichiers/2018/10/7/1520796676-sans-titre-7.jpg

Ca c'est quand tu utilises une méthode style filter

  • 1

Données du topic

Auteur
AhuraxTmax
Date de création
23 décembre 2021 à 21:06:30
Date de suppression
24 décembre 2021 à 17:56:18
Supprimé par
Auteur
Nb. messages archivés
11
Nb. messages JVC
10
En ligne sur JvArchive 342