Neste artigo você aprenderá a como chamar onChange com Enter em React JS, ou seja, ativar o evento onChange com enter
Fala programador(a), beleza? Bora aprender mais sobre React JS!
O Básico do Evento de Tecla
No React, os eventos de teclado são representados pelo evento sintético onKeyPress
, onKeyDown
ou onKeyUp
.
Para detectar especificamente a tecla “Enter”, podemos verificar a propriedade key
ou keyCode
do evento.
Exemplo Simples:
function InputComEnter() { const verificarTecla = (evento) => { if (evento.key === 'Enter') { console.log("Tecla 'Enter' pressionada!"); } }; return <input type="text" onKeyPress={verificarTecla} />; }
No exemplo acima, toda vez que a tecla “Enter” é pressionada, uma mensagem é exibida no console.
Integrando com onChange
Agora, digamos que queremos integrar a detecção da tecla “Enter” com uma função onChange
.
O objetivo é atualizar o estado do componente quando o usuário digita e, ao pressionar “Enter”, realizar uma ação adicional, como enviar os dados.
Exemplo Prático:
import React, { useState } from 'react'; function CaixaDeBusca() { const [texto, setTexto] = useState(''); const handleInputChange = (evento) => { setTexto(evento.target.value); }; const handleKeyPress = (evento) => { if (evento.key === 'Enter') { enviarBusca(); } }; const enviarBusca = () => { console.log("Buscando por:", texto); }; return ( <div> <input type="text" value={texto} onChange={handleInputChange} onKeyPress={handleKeyPress} placeholder="Digite e pressione Enter..." /> <button onClick={enviarBusca}>Buscar</button> </div> ); }
Neste componente CaixaDeBusca
, o usuário pode tanto pressionar o botão “Buscar” quanto pressionar a tecla “Enter” para iniciar uma busca.
Otimizando com Hooks Personalizados
Podemos ir além e criar um hook personalizado para lidar com a detecção da tecla “Enter”, tornando nosso código mais reutilizável.
Exemplo com Hook Personalizado:
import React, { useState } from 'react'; function useEnter(tecla = 'Enter') { const [pressionado, setPressionado] = useState(false); const handleKeyPress = (evento) => { if (evento.key === tecla) { setPressionado(true); } else { setPressionado(false); } }; return [pressionado, handleKeyPress]; } function CaixaDeBuscaOtimizada() { const [texto, setTexto] = useState(''); const [enterPressionado, verificarEnter] = useEnter(); const handleInputChange = (evento) => { setTexto(evento.target.value); }; if (enterPressionado) { console.log("Buscando por:", texto); } return ( <input type="text" value={texto} onChange={handleInputChange} onKeyPress={verificarEnter} placeholder="Digite e pressione Enter..." /> ); }
O hook personalizado useEnter
verifica se a tecla “Enter” foi pressionada e retorna um valor booleano correspondente.
Isso torna nosso código mais limpo e modular.
Quer aprender mais sobre programação? Conheça nosso canal no YouTube:
Conclusão
Chegamos ao fim do artigo sobre como chamar onChange com Enter em React!
Facilitar para que os usuários interajam com sua aplicação é uma prática recomendada para melhorar a usabilidade.
Ao permitir que a tecla “Enter” acione eventos em React JS, proporcionamos uma experiência mais fluida e intuitiva.
Seja através de métodos simples ou com a ajuda de hooks personalizados, o React nos oferece as ferramentas necessárias para implementar essas interações de maneira otimizada e eficaz.
Está buscando em evoluir como Programador? Confira o nossos cursos de programação.