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

482
Vistas
React .map no se vuelve a renderizar en el cambio de estado en el componente funcional
const [fullProductCostingDataState, setFullProductCostingDataState] = useState([]); // update of state done here {fullProductCostingDataState.map((item, index) => { return ( <p key={index}>{item["materialName"]}</p> ) })}

Lo siento, sé que esta es una pregunta potencialmente estúpida, pero sé que la función .map solo se representa una vez y luego, incluso si el estado cambia, los datos no se vuelven a asignar a la página, pero ¿cómo resuelvo esto? artículos en el estado. Todas las respuestas que encontré en línea mencionan el uso de render() pero estoy usando un componente funcional, así que no tengo render, ¿puedo usar ganchos para forzarlo a actualizar o es .map completamente incorrecto para usar para esto?

 function ItemRow(props) { let data = props.fullData; let newItem = { "id": props.id, "materialName": props.name, "value": totalPrice } data.push(newItem); props.setFullData(data); }

Esa es una versión diluida de cómo estoy actualizando el estado (la versión completa tiene muchas declaraciones if para verificar varias cosas y eliminar duplicados), ¿supongo que lo estoy mutando?

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

0

const [fullProductCostingDataState, setFullProductCostingDataState] = useState([]); // update of state done here useEffect(()=>{},[fullProductCostingDataState]) // this will solve your issue {fullProductCostingDataState?.map((item, index) => { return ( <p key={index}>{item["materialName"]}</p> ) })}

Su problema se resolverá cuando useEffect vuelva a renderizar la página cuando se cambie el estado. Ahora solo tienes que actualizar el estado.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Lo resolví gracias a la ayuda de todos aquí.

Cambiado let data = props.fullData; let data = [...props.fullData]; luego editó la variable de datos antes de llamar a la función de estado establecido usando la variable de datos :)

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