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

192
Visualizações
El objeto es posiblemente 'indefinido' Reactjs

la solución de esta pregunta ya está disponible en stackoverflow pero, todavía estoy confundido, tengo el mismo uso que ellos responden, sigue este error, ayúdame a salir de este error, gracias, mi lista de objetos es

 const typeValue = [ {name: "Subscription", value: "subscription", rank: 2}, {name: "Single", value: "single", rank: 3}, {name: "Trial", value: "trial", rank: 0}, {name: "Unlimited", value: "unlimited", rank: 1000}, {name: "Promo", value: "promo", rank: 1}, {name: "Test", value: "test", rank: 0}, {name: "Brand", value: "brand", rank: 3} ]

cualquier quiero encontrar número de rango

 rank: typeValue.find(x => x.value === snapshot.data().type).rank
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

find devolverá undefined si no puede encontrar una coincidencia, y entonces es ilegal llamar a .rank . Para resolver, use ?.rank en su lugar:

 rank: typeValue.find(x => x.value === snapshot.data().type)?.rank

Si el problema persiste, es posible que deba hacer lo mismo para .type :

 rank: typeValue.find(x => x.value === snapshot.data()?.type)?.rank
about 4 years ago · Juan Pablo Isaza Relatório

0

typeValue.find(x => x.value === snapshot.data().type)

Está tratando de encontrar un elemento en typeValue que satisfaga x.value === snapshot.data().type , pero snapshot.data().type podría ser cualquier cosa, por lo que TypeScript advierte que typeValue.find(x => x.value === snapshot.data().type) puede devolver undefined .

Si desea decirle a TypeScript que x.value === snapshot.data().type definitivamente coincidirá con uno de los elementos, puede usar ! :

 rank: typeValue.find(x => x.value === snapshot.data().type)!.rank

También puedes usar ? si el rank puede ser undefined :

 rank: typeValue.find(x => x.value === snapshot.data().type)?.rank
about 4 years ago · Juan Pablo Isaza Relatório

0

Declare tipos para su variable de matriz typeValue : -

 const typeValue: { name: string; value: string; rank: number }[] = [ { name: "Subscription", value: "subscription", rank: 2 }, { name: "Single", value: "single", rank: 3 }, { name: "Trial", value: "trial", rank: 0 }, { name: "Unlimited", value: "unlimited", rank: 1000 }, { name: "Promo", value: "promo", rank: 1 }, { name: "Test", value: "test", rank: 0 }, { name: "Brand", value: "brand", rank: 3 }, ];

¡Agregue también tipos para snapshot.data().type , si aún no lo declaró!

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