J'essaie d'utiliser le throttle
méthode de lodash
dans un composant fonctionnel, par exemple :
const App = () => {
const [value, setValue] = useState(0)
useEffect(throttle(() => console.log(value), 1000), [value])
return (
<button onClick={() => setValue(value + 1)}>{value}</button>
)
}
Puisque la méthode dans useEffect
est redéclarée à chaque rendu, l'effet d'étranglement ne fonctionne pas.
Quelqu'un a-t-il une solution simple ?
1 votes
Est-ce une option pour vous de définir la fonction étranglée en dehors de la
App
et l'appeler simplement dans le composantuseEffect
fonction ?0 votes
Oui, j'ai essayé et cela fonctionne, mais dans mon cas, ce n'est pas très élégant, car j'utilise des variables de composants dans la méthode d'étranglement.