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

210
Visualizações
¿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 Respostas
Responde à pergunta

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 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