Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

145
Views
deshabilitar keyPress para ingresar en el mismo valor varias veces

Tengo eventos onChange y onKeyPress para un campo de entrada, donde cuando el usuario presiona enter solo quiero llamar a la API. Y si no hay cambios en el carácter, entonces no quiero activar la llamada a la API.

 const [searchValue, setSearchValue] = useState('') handleChange = (e) => { setSearchValue(e.target.value) } handleKeyPress = (e) => { let charCode = event.keyCode; if (charCode === 13) { getData(); } } return( <input onChange={handleChange} onKeyPress={handleKeyPress} /> )

Entonces, si el usuario escribe 'a' y presiona Intro, debería llamar a la API, pero la segunda vez que el usuario presiona Intro, no debería llamar a la API, ya que no se ha cambiado ningún carácter. Entonces, ¿cómo puedo bloquear eso si el valor es el mismo? He comprobado e.target.value !== searchValue dentro de handleKeyPress pero no funcionó

Cualquier ayuda es apreciada

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

e.target.value !== searchValue : esto no funcionó porque onChange llamará antes y establecerá el último valor en el estado para que onKeyPress siempre sea el mismo.

Intenta hacer así:

 const App = () => { const [searchValue, setSearchValue] = React.useState('') const handleKeyUp = ({charCode, target : { value }}) => { if (charCode === 13 && searchValue !=value ) { console.log("get Data") } setSearchValue(value) } return( <input keyup={handleKeyUp}/> ) }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!