85 votes

React Hooks Erreur : Les crochets ne peuvent être appelés qu'à l'intérieur du corps d'un composant de fonction.

J'obtiens cette erreur lorsque j'utilise le useState crochet. Je l'ai dans sa forme de base, en regardant le docs sur les réacteurs pour une référence, mais je reçois toujours cette erreur. Je suis prêt pour le moment de la paume de la main...

export function Header() {
  const [count, setCount] = useState(0)
  return <span>header</span>
}

2 votes

Cela fonctionne pour moi... aucune erreur... avez-vous mis à jour vers la 16.7 ?

0 votes

Oui, je l'ai fait. Je pense que ça a peut-être quelque chose à voir avec ma configuration, mais je ne sais pas quoi. Eventuellement, si j'utilise ce même crochet en haut du composant function App, j'obtiens la même erreur.

0 votes

Hmmm... tout ce que j'ai fait c'est npx create-react-app newhook et ensuite yarn add react@next et react-dom@next et ça a bien marché....

0voto

unyo Points 121

Pour moi, cela se produisait parce que j'avais une nouvelle version de react (16.8.6) et une ancienne version de react-dom (16.6.1).

https://reactjs.org/warnings/invalid-hook-call-warning.html#mismatching-versions-of-react-and-react-dom

La mise à jour des deux vers la @latest (16.8.6) a corrigé l'erreur.

-5voto

shisongyan Points 7

Mettre à jour le package.json version react-dom comme react

0 votes

"react" : "^16.7.0-alpha.0", "react-dom": "^16.7.0-alpha.0",

6 votes

Si la réponse est juste une suggestion, vous pouvez utiliser la section des commentaires.

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