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

156
Visualizações
El resultado cae en un ciclo infinito en React.js

¿Alguien podría ayudarme a solucionar mi problema? ¡Soy un principiante en React.js y acabo de crear el componente para mostrar los resultados del carrito! pero por alguna razón, cae en un ciclo infinito.

Captura de pantalla del problema: http://prntscr.com/1w5hbey

puede ver los datos de la consola con la URL de este sitio. Gracias

https://side-cart-react.myshopify.com/products/test2

 import React, { useState } from "react" import ReactDom from "react-dom" const LineItem = (props) => { return ( <div className="line-item" data-line=""> <div className="line-item__header"> <div className="line-item__title"> <p>{console.log(props.cart)}</p> </div> <p className="line-item__price"></p> </div> </div> ) } const CartDrawer = () => { const [cart, setCart] = useState(""); const getCart = () => { fetch("/cart.js", { method: 'GET', headers: new Headers({'content-type': 'application/json', 'X-Requested-With':'xmlhttprequest'}) }).then(res => { return res.json(); }).then(json => { setCart(json); console.log('state',cart); }); } getCart(); return <LineItem cart={cart} />; } const root = document.getElementById('cart__drawer_items'); ReactDom.render(<CartDrawer />, root);
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Cuando llama a setCart(json) , provoca una nueva representación de su componente. En este render posterior, su función getCart() es llamada nuevamente y, por lo tanto, se atrapa dentro de un bucle infinito. En su lugar, debe llamar a getCart() dentro de useEffect de esta manera:

 const CartDrawer = () => { useEffect(() => { getCart(); }, []); return ...; }

De esta forma, se llamará una sola vez. Si desea que el carrito se actualice cuando cambien algunos estados o accesorios, debe agregar esas variables en la matriz de dependencia useEffect .

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