J'essaie de mettre à jour mon état en déclenchant l'événement Onclick dans mon code>, 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
3 Réponses :
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);
};
Pouvez-vous essayer ceci, modifier à p>
JS est asynchrone, vous devez donc gérer des effets en utilisant E.g. : p> useeffect code> crochet.
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]); code> (Je recommanderai également de ne pas utiliser de crochets comme un débutant réagissant )parce que JS est asynchrone. Vous pouvez utiliser
USEEFFECT code> crochet pour manipuler les effets.Merci pour l'info