Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

81
Vistas
Tipo de configuración para la matriz de objetos useState

Estoy luchando por descubrir cuál es el problema con mi código.

 interface history { data: string, przed: string | number, po: string | number, }

Tengo una interfaz fuera del Componente funcional y luego dentro defino cómo se supone que debe verse, no hay problema

 const [history, setHistory] = useState<[history]>([{ data: '', przed: '', po: '', }]);

entonces tengo una función onClick que hace esto:

 setHistory([ ... history , { data: new Date().toISOString().slice(0, 10), // date przed: fromTo, // number po: valueToSave, // number }]);

Todo funciona bien cuando se compila y prueba en el navegador, sin embargo, a VS Code no le gusta mi código con este error:

 Argument of type '[history, { data: string; przed: number; po: string; }]' is not assignable to parameter of type 'SetStateAction<[history]>'. Type '[history, { data: string; przed: number; po: string; }]' is not assignable to type '(prevState: [history]) => [history]'. Type '[history, { data: string; przed: number; po: string; }]' provides no match for the signature '(prevState: [history]): [history]'.ts(2345)

¿Cómo puedo manejar algo como esto? ¿Qué significa?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Puede usar history[] o Array<history> en lugar de [history] , lo que significa que desea una matriz de tipo de history o una matriz en la que cada elemento será de tipo history .

[history] significa que tiene una matriz que contendrá un elemento de tipo history

history[] significa que es una matriz de tipo history

 const [history, setHistory] = useState<history[]>([ { data: "", przed: "", po: "" } ]);

o también puedes hacer como:

 const [history, setHistory] = useState<Array<history>>([ { data: "", przed: "", po: "" } ]);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda