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

329
Vistas
¿Cómo actualizar un estado usando nextjs?

He estado trabajando en un proyecto next.js y tengo una parte que actúa como un carrito de compras. Cuando hace clic en un elemento, agrega la imagen del elemento a una lista y muestra todos los elementos seleccionados. Para eliminar el elemento, puede hacer clic en el icono pequeño. Cuando se hace clic en el icono pequeño, empalmo esa lista y actualizo el accesorio, pero no se actualiza hasta que agrego otro elemento. He visto esta pregunta , pero cuando la implemento, da un error. También he leído este artículo , pero tampoco me gusta eso. También publiqué mi proyecto en el código en la caja de arena de código aquí .

 var cartImages = []; export default function Home({ data }) { const removeitem = (index) => { cartImages.splice(index, 1); setCartImg(cartImages); }; const [cartImg, setCartImg] = useState(cartImages); return ( <Popup onClick={removeitem} />); }

¡Gracias por tu tiempo!

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

0

Tus códigos y caja están actualizados. Por favor revise. He comentado parte del código. Básicamente, había dos problemas.

  1. El total no se actualizaba en la eliminación del artículo porque el total no se actualizaba después de la eliminación del artículo.
  2. El estado de CartImg no reflejaba el cambio en la eliminación.

para resolver el primer problema, actualicé la función removeItem para usar y actualizar la variable de estado cartImg .

 const removeitem = (index) => { console.log(index); const updated = cartImg.filter((item, idx) => idx !== index); // remove the item based on the index property if (!updated.length) setPopup(false); setCartImg(updated); };

también actualizó el accesorio total en el componente Popup

 total={cartImg.reduce((partial_sum, a) => partial_sum + a.price, 0)}

Para resolver ambos problemas, actualicé el estado cartImg para almacenar la URL y el precio de un artículo en el objeto. Luego sume el total de los artículos en la matriz cartImg .

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