Búsqueda de sitios web

javascript - ¿Cómo usar React.useCallback?


Tengo una función como la siguiente que se llamará al hacer clic en un botón usando React y TypeScript.

function Parent () {
    const [isOpen, setIsOpen] = React.useState(false);
    const handleClick = () => {
        setIsOpen(open => !open);
    }
    return (
        <button onClick={handleClick}>click me </button> 
    );

}

¿Cómo puedo reescribir el método handleClick usando el método React.useCallback?

¿Alguien podría ayudarme con esto? Gracias.

Respuesta #1

Simplemente envolvemos la función y añadimos nuestro isOpen a la lista de variables dependientes, ya que cambiará cada vez que se haga clic.

const handleClick = React.useCallback(() => {
  setIsOpen(open => !open);
}, [isOpen]);