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.