57 votes

Pourquoi React Hook useState utilise const et non let

La manière standard d'utiliser un React useState Hook est la suivante :

 const [count, setCount] = useState(0);

Cependant, cette const count va clairement être réaffectée à une valeur primitive différente.

Pourquoi alors la variable n'est-elle pas définie comme let count ?

2voto

Abido Points 190

Après avoir appelé setCount, le composant est restitué et le nouvel appel de useState renvoie la nouvelle valeur. Le fait est que le compte est immuable. Il n'y a donc pas de faute de frappe ici.

Techniquement, c'est une nouvelle variable à chaque rendu.

Source : React Github issue : Docs - Hooks : est-ce const une faute de frappe ?

1voto

urfx Points 22

ici, j'ai trouvé que const était frustrant car le nombre doit changer, donc

   let [count, setCount] = useState(0)
  // simply can't use ++ on either side of count increment given we declare as const [count, setCount] 
  // instead declaration of var or let [count, setCount] allows simpler code
  const increment = () => {
    setCount(count++); //const cannot do this only let or var
  };

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X