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

201
Vistas
"El objeto posiblemente no está definido" cuando se usa Object.keys()

Tengo un problema con este fragmento de código y le aseguro a TypeScript que sé que la ubicación no estará indefinida (¿ya que estoy iterando a las Personas?).

En cada línea dentro de PeopleCard que Object is possibly 'undefined'.

Estoy un poco confundido como si el Objeto estuviera siendo iterado, asumo que no puede iterar

 {people && Object.keys(people).map((id: string) => ( <PeopleCard location={people[id]} onDelete={() => openDeletePeopleModal(locations[id])} onEdit={() => openEditPeopleDrawer(locations[id])} onClick={() => history.push(`/todo/${todo.id}/people/${people[id].id}`)} /> ))}

Obtengo people de mi Contexto y accedo a él así:

 let { people } = selectedTodo;

TypeScript cree que selectedTodo es del tipo ITodo y que las people son del tipo { [id: string]: Location } | undefined Lo cual me parece correcto.

Mis tipos son así:

 export type People = { id: string; peopleName: string; address1: string; address2?: string; address3?: string; address4?: string; address5?: string; town: string; postcode: string; country: string; } export type ITodo = { id: string; todoName: string; todoType: string; people?: { [id: string]: People }; };

Pensé que agregar otro cheque para indefinido podría sellar el trato, pero todo lo que he intentado hasta ahora no ha funcionado. ¡Solo puedo agregar ! después de cada uno, pero prefiero no hacerlo si es fácil de arreglar.

about 4 years ago · Juan Pablo Isaza
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