我对 react 中的 typescript 比较陌生。根据打字稿,由于事件处理程序类型不正确,以下无法编译 - React.KeyboardEventHandler。由于我是打字稿的初学者,我不知道这有什么问题。你能不能提示我,我怎样才能让这件事发挥作用。
useEffect(() => {
const resetHeight: () => void = () => setHeight(window.innerHeight)
if(!isMobile){
document.addEventListener('keydown', handlePageChangeByClicking)
}
window.addEventListener('resize', resetHeight)
return () => {
window.removeEventListener('resize', resetHeight)
if(!isMobile){
document.removeEventListener('keydown', handlePageChangeByClicking)
}
}
})
const handlePageChangeByClicking: React.KeyboardEventHandler<HTMLDocument> = (e) => {
if(e.keyCode === 38){
if(current > 0)
setCurrent(current - 1)
} else if (e.keyCode === 40){
if(current < maxSlides - 1)
setCurrent(current + 1)
}
}