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

507
Visualizações
ReactJs: TypeError no capturado: no se pueden leer las propiedades de undefined (leyendo '0')

Estoy tratando de acceder a la clave y los valores en la payload en mis datos JSON, y si la clave está presente en la matriz, countTargetOptions , la mostraré en un componente.

Pero sigo recibiendo un Uncaught TypeError: Cannot read properties of undefined (reading '0') cuando trato de mostrar los datos {payload[0]?.payload?.countTargetOptions[i]} ? Reaccionar: TypeError no capturado: no se pueden leer las propiedades de undefined (leyendo '0') pero aún no funciona).

Antes de intentar renderizar los componentes en un bucle, no hubo problemas. Vea a continuación mi código y una foto de los datos de carga útil.

 const countTargetOptions = [ "count_targets", "count_targets_excluded", "count_targets_pending", "count_targets_in_progress", "count_targets_completed", "count_targets_failed", ]; const CustomTooltip = ({ payload}: TooltipProps<ValueType, NameType> | any) => { if( payload && payload.length){ var targetsData = []; let payloadData: any = payload[0].payload; for(let i = 0; i < countTargetOptions.length; i++){ if(payloadData.hasOwnProperty(countTargetOptions[i])){ let targetOption: string = countTargetOptions[i].replaceAll('_', ' '); targetsData.push( <Typography key = {targetOption} sx={{ fontSize: 14 }} color={"black"} > {targetOption} : {payload[0]?.payload?.countTargetOptions[i]} </Typography> ) } } return ( <> <Card> <CardContent> {targetsData} //Example of what wored before loop {/* <Typography sx={{ fontSize: 14 }} color={"black"} > count targets : {payload[0].payload.count_targets} </Typography> */} </CardContent> </Card> </> ); } return null; }

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Probablemente querías hacer esto:

 {targetOption} : {payload[0].payload[countTargetOptions[i]]

¿Sobre ?.

?. es un operador que devuelve undefined si el lado izquierdo es undefined . Lo agregaste en los lugares equivocados. Haciendo esto:

 {targetOption} : {payload[0].payload.countTargetOptions?.[i]}

sería un poco mejor, porque entonces no obtendría el error, aunque el valor seguiría siendo undefined .

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