Обнаружение двойного нажатия [Enter] в быстрой последовательности в React

#reactjs #typescript #keyboard-events

#реагирует на #машинописный текст #клавиатура-события

Вопрос:

Следующий код определяет определенные нажатия клавиш. Думайте об этом как об интерфейсе Smart TV, где все ваши взаимодействия осуществляются с помощью пульта дистанционного управления телевизором, а не мыши или сенсорного экрана. Клавиши курсора перемещают фокус, и клавиша [Enter] похожа на действие, чтобы сделать что-то в зависимости от того, что находится в фокусе. Я хотел бы создать другое действие, если клавиша [Enter] была нажата в быстрой последовательности, почти как событие двойного нажатия. До сих пор это мой код, использующий typescript React. Как я могу обнаружить двойное нажатие? Я почти уверен, что для этого требуется обратный вызов и/или использование и т. Д.

 const { focused, node } = useFocusable({  focusKey,  elementRef: containerRef,  onBlur: () =gt; {  setThumbTimeOffset(0)  // setStore({ thumbTimeOffset: 0 })  },  onKeyDown: (event) =gt; {  if (!playerControlsVisible) {  event.stopPropagation()  event.preventDefault()  return  }   if (event.key === "ArrowLeft") {  event.stopPropagation()  if (store.videoElement) store.videoElement.pause()  setThumbTimeOffset(  clamp(  thumbTimeOffset - 1,  0 - currentTime,  duration - currentTime  )  )  }  if (event.key === "ArrowRight") {  event.stopPropagation()  if (store.videoElement) store.videoElement.pause()  setThumbTimeOffset(  clamp(  thumbTimeOffset   1,  0 - currentTime,  duration - currentTime  )  )  }  if (event.key === " " || event.key === "Enter") {  event.stopPropagation()  if (thumbTimeOffset !== 0 amp;amp; store.videoElement) {  store.videoElement.currentTime =  currentTime   thumbTimeOffset  }  store.videoElement.play()  }  },  })