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

205
Views
¿Por qué mecanografiado lanza el elemento vinculante 'objetivo' implícitamente tiene un tipo 'cualquiera'.ts (7031)?

Estoy tratando de obtener el tipo correcto para este parámetro de función

 const handleInputChange = ({ target }) => { setFormValues({ ...formValues, [target.name]: target.value, }); };

me arroja un error que no bloqueó la aplicación, pero sé que no es una buena práctica.

para dar más contexto, todos los campos que están cambiando son cadenas.

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

0

Te dice eso porque no le has dicho cuál es el tipo de parámetro.

Necesitas decirle de qué tipo es. Hay un par de maneras:

  1. Escriba la constante a la que está asignando la función; o

  2. Escriba directamente el parámetro

Escriba la constante a la que está asignando la función

Puede hacerlo con el tipo ChangeEventHandler , que es genérico, tomando el tipo del elemento como argumento de tipo:

 import { ChangeEventHandler } from "react"; // ... const onChange: ChangeEventHandler<HTMLInputElement> = ({currentTarget}) => { // type −−−−−−^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ console.log(`${currentTarget.name} => ${currentTarget.value}`); };

Escriba directamente el parámetro

El parámetro es un objeto de evento que tiene una propiedad currentTarget , por lo que si (por ejemplo) se usa en un HTMLInputElement , puede usar el tipo { currentTarget: HTMLInputElement } :

 const handleInputChange = ({ currentTarget }: { currentTarget: HTMLInputElement }) => { // type −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // ... };

O puede usar ChangeEvent<T> :

 import { ChangeEvent } from "react"; // ... const handleInputChange = ({ currentTarget }: ChangeEvent<HTMLInputElement>) => { // type −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // ... };

Tenga en cuenta que usé currentTarget en lugar de target . Por lo general, no importa para los elementos de input ( target y currentTarget siempre son los mismos si el controlador está en la input , no en su padre/ancestro), pero sí lo es para los elementos de button y algunos otros (ya que target puede ser un elemento descendiente ). Y es importante si está manejando el change en un elemento padre/ancestro en lugar de en la input directamente.

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!