Я пытаюсь заставить useState работать, когда пользователь нажимает стрелки вверх или вниз и по какой-то причине состояние не обновляется.
Даже если я установил Timeout, чтобы увидеть, обновляется ли index , все еще нет.Полностью смущен здесь с этим.
import React, { useEffect, useState } from 'react';
const Wrapper = ({ children }) => {
const [index, setIndex] = useState(-1);
useEffect(() => {
document.addEventListener('keydown', handler);
return () => {
document.removeEventListener('keydown', handler);
};
}, []);
const handler = (event) => {
if (event.key === 'ArrowDown') {
setIndex(index + 1);
console.log('index = ', index);
}
};
return (
<div>
{children}
</div>
);
};
export default Wrapper;