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

177
Vistas
Intentando ejecutar mi aplicación pero sufriendo con "No se pueden leer las propiedades de undefined (leyendo 'reducir')"

Estoy tratando de ejecutar una aplicación de transacciones, pero el error No puedo leer las propiedades de undefined (leyendo 'reducir') no me permite ejecutar la aplicación. Mi pantalla se convierte en un blanco completo por cierto. Estaba funcionando bien, y luego, de repente, boom, ya no funcionaba: ingrese la descripción de la imagen aquí

Este es mi Resumen index.tsx:

 import React, {useContext} from 'react' import incomeImg from '../../assets/income.svg' import outcomeImg from '../../assets/outcome.svg' import totalImg from '../../assets/total.svg' import { useTransactions } from '../../hooks/useTransactions' import { Container } from './styles' export function Summary() { const {transactions} = useTransactions() const summary = transactions.reduce((acc,transaction)=>{ if (transaction.type === 'deposit'){ acc.deposit += transaction.amount acc.total += transaction.amount } else { acc.withdraw = transaction.amount acc.total -= transaction.amount } return acc }, { deposit: 0, withdraw: 0, total: 0 }) return (/*SOME HTML*/)

También pongo aquí mi gancho useTransaction: https://gist.github.com/gabrielforster/314e5a5f91d8f83c78a3cc8a56a55435

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

0

Lo mejor es publicar el código para useTransactions() . Aquí supongo que en realidad está esperando que se completen algunos datos. La mejor manera de manejar esto es con un useEffect que se activa cuando transactions se actualizan y ponen summary en un estado. Agregué un control de encadenamiento opcional .? para verificar nulo o indefinido antes de usar reduce.

 const [summary, setSummary] = React.useState([]) React.useEffect(() => { setSummary(transactions?.reduce( (acc, transaction) => { if (transaction.type === 'deposit') { acc.deposit += transaction.amount; acc.total += transaction.amount; } else { acc.withdraw = transaction.amount; acc.total -= transaction.amount; } return acc; }, { deposit: 0, withdraw: 0, total: 0, }, )); }, [transactions]);
about 4 years ago · Juan Pablo Isaza Denunciar

0

¡Fue un error en mi gancho useTransaction! gracias a todos

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