0
votes

Cliquez deux fois sur onclick dans pour mettre à jour l'état

J'essaie de mettre à jour mon état en déclenchant l'événement Onclick dans mon , mais seulement après que je clique deux fois, la sortie apparaît dans ma console, j'ai essayé de lire une autre question. Semblable à ceci à Stackoverflow mais ne pouvait toujours pas trouver la solution, que quelqu'un puisse me dire ce que j'ai fait? Votre aide serait vraiment géniale xxx


6 commentaires

Est-ce que cela répond à votre question? Pourquoi appeler la méthode de réact de SSTATE ne mutation immédiatement l'état ?


Donc, j'ai besoin de passer une fonction de rappel dans l'ensemble de l'ensemble pour que cela fonctionne immédiatement?


Cela me donne cette erreur ** AVERTISSEMENT: les mises à jour de l'état des hameçons USESTE () et UserEducer () ne prennent pas en charge le deuxième argument de rappel. Pour exécuter un effet secondaire après le rendu, déclarez-le dans le corps du composant avec UseEffect () **.


Exactement, vous devez utiliser réact.utiliseeffect ((((() => {console.log (recherche);}, [recherche]); (Je recommanderai également de ne pas utiliser de crochets comme un débutant réagissant )


parce que JS est asynchrone. Vous pouvez utiliser USEEFFECT crochet pour manipuler les effets.


Merci pour l'info


3 Réponses :


1
votes

La chose dont vous avez besoin pour comprendre est la suivante: lorsque vous cliquez sur, vous ajoutez un événement et que l'événement est lié à votre composant et à vos accessoires.

Vous devez donc empêcherDefault de dire à votre événement / accessoire à agir. normalement. Gardez votre code réellement, mais ajoutez E.PreventDefault () au début de chaque événement :) p>

Exemple: P>

const handleChange = (e) =>{
    e.preventDefault();
    setSearch(e.target.value);
    console.log(search);
};


0 commentaires

0
votes

Pouvez-vous essayer ceci, modifier xxx

à xxx


0 commentaires

1
votes

JS est asynchrone, vous devez donc gérer des effets en utilisant useeffect crochet.

E.g. : xxx


0 commentaires