Estoy tratando de cambiar el estado isActive (usando ganchos) cada vez que se presiona la tecla de espacio. Sin embargo, solo cambia el estado la primera vez que se presiona el espacio, y las siguientes presiones espaciales no hacen nada. ¿Qué estoy haciendo mal?
function App() { const [isActive, setIsActive] = useState(false); const spaceDown = React.useCallback((event) => { if(event.keyCode === 32) { setIsActive(!isActive); } }, []); useEffect(() => { document.addEventListener("keydown", spaceDown, false); return () => { document.removeEventListener("keydown", spaceDown, false); }; }, []); return ( <div>{isActive.toString()}</div> ) }