Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

126
Visualizações
Verifique la entrada mientras se escribe ReactJS

Me gustaría verificar una entrada a medida que se escribe, sin presionar una tecla o un botón de forma asíncrona. Me gustaría establecer un valor de variables en verdadero si una persona ha escrito más de 4 letras.

Creo que también estaría bien si el valor se establece en verdadero (si el valor es de 4 letras o más) después de que el usuario haga clic fuera del cuadro de entrada, pero prefiero lo primero

Código simulado

 var hasTypedMoreThan4Letters = false; //changes to true when more than 4 letters are typed in inp1 <input type="text" className="input1" id="inp1" onChange={onTypingMoreThan4Letters}/>

No estoy seguro si ayuda, pero la imagen simulada a continuación

Imagen simulada

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Necesita componentes controlados (entrada controlada). Aquí está mi versión usando ganchos. Obtiene la cantidad de símbolos ingresados en la variable de count .

 import "./styles.css"; import { useState } from "react"; export default function App() { const [count, setCount] = useState(0); function handleInput(e) { setInput(e.target.value); setCount((prev) => prev + 1); } const [input, setInput] = useState(""); return ( <div className="App"> <input value={input} onInput={handleInput} /> <p>{count}</p> </div> ); }
about 4 years ago · Juan Pablo Isaza Relatório

0

Probablemente podrías hacer algo como esto. Esto comprobará si se han escrito más de 4 letras y mostrará un mensaje si hasMore es verdadero.

 import React from 'react'; export default function App() { const [hasMore, setHasMore] = React.useState(false) const [val, setVal] = React.useState(""); const hasTypedMoreThan4Letters = (e)=>{ setHasMore(e.target.value.length > 4) setVal(e.target.value) } return ( <div className="App"> <input type="text" className="input1" id="inp1" value={val} onChange={hasTypedMoreThan4Letters}/> {hasMore && ( <h1> has more than 4 letters</h1> )} </div> ); }
about 4 years ago · Juan Pablo Isaza Relatório

0

No veo una razón por la que deba tener un segundo estado para la longitud del valor.

 function App() { const [value, setValue] = useState(''); const hasTypedMoreThan4Letters = value.length > 4; const handleChange = (event) => { setValue(event.target.value); } return <input onChange={handleChange} value={value} />; }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda