Uso useEffect con el parámetro props.quizStep . Pero fn (función de escucha de eventos keydown) no puede obtener props.quizStep actual.
¿Por qué no puede obtener accesorios actuales?
Aquí está mi código.
const moveBirdKeyboard = React.useEffect(() => { console.log('moveBirdKeyboard props.quizStep', props.quizStep); let fn = (e: any) => { console.log('props.quizStep', props.quizStep); moveBirdEvent(e); } if(eventListener.current === false) { (window as any).addEventListener('keydown', _.throttle(fn,10)); //_.throttle(fn,1000)); eventListener.current = true; } }, [props.quizStep]);No puede asignar el enlace useEffect a una variable, ya que dice que es un enlace, no una propiedad. En lugar de eso, debe crear una función cuyas propiedades se puedan adjuntar a un gancho.
Un buen ejemplo de la documentación de reactJS:
function Example() { const [count, setCount] = useState(0); useEffect(() => { document.title = `Clicked ${count} times`; });