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

121
Vistas
Tener problema con la función de aumento de artículo

Mi resultado es ver item.acf.count como string y no como number . ¿Cómo puedo convertir esto en número?

Aquí está la función a continuación.

 increaseItem = (id) => { const { cart } = this.state; cart.forEach(item => { if (item.id === id) { item.acf.count += 1 } }) this.setState({ cart:cart }) }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Mi resultado es ver item.acf.count como una cadena y no como un número. por favor como puedo convertir es a numero

Debe asegurarse de que el estado inicial item.acf.count sea un tipo de número para que esta operación count: item.acf.count + 1 funcione correctamente y devuelva un tipo de número. Siempre que sus actualizadores de estado mantengan el estado invariable de item.acf.count como un número, debería funcionar como se esperaba.

Además, el controlador de increaseItem de artículos está mutando el estado del carrito y no está creando nuevas referencias de matriz/objeto.

 increaseItem = (id) => { const { cart } = this.state; // <-- cart is reference to cart state cart.forEach(item => { if (item.id === id) { item.acf.count += 1; // <-- mutation! } }); this.setState({ cart: cart // <-- cart state reference back into state }) }

En su lugar, debe copiar superficialmente el carrito y luego también copiar superficialmente el elemento del carrito ( cualquier otra propiedad anidada ) que desee actualizar. También sugiero usar una actualización de estado funcional para que esté actualizando correctamente desde el estado anterior y no cualquier valor de estado cerrado en el alcance de devolución de llamada de increaseItem de elementos.

 increaseItem = (id) => { this.setState(prevState => ({ cart: prevState.cart.map(item => item.id === id ? { ...item, acf: { ...item.acf, count: item.acf.count + 1 } } : item), })); }
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