Pular para o conteúdo

useKeyPress

Detecta pressionamentos de tecla do teclado com suporte opcional a callback.

import { useKeyPress, useKeyPressCallback } from 'asterui'
function KeyPressExample() {
const escapePressed = useKeyPress('Escape')
useEffect(() => {
if (escapePressed) closeModal()
}, [escapePressed])
return <div>{escapePressed ? 'Escape pressed!' : 'Press Escape'}</div>
}
function CallbackExample() {
useKeyPressCallback('Escape', () => closeModal())
useKeyPressCallback('Enter', () => submitForm(), { preventDefault: true })
return <Form>...</Form>
}
ParâmetroTipoDescrição
targetKeystringTecla para detectar (ex: 'Enter', 'Escape', 'a')
optionsUseKeyPressOptionsOpções de configuração
ParâmetroTipoDescrição
targetKeystringTecla para detectar
callback(event: KeyboardEvent) => voidFunção para chamar
optionsUseKeyPressOptionsOpções de configuração
PropriedadeTipoPadrãoDescrição
targetHTMLElement | WindowwindowElemento alvo para o ouvinte
event'keydown' | 'keyup''keydown'Tipo de evento para ouvir
preventDefaultbooleanfalsePrevenir comportamento padrão do navegador
TipoDescrição
booleanVerdadeiro enquanto a tecla está pressionada