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

397
Visualizações
¿Por qué fetch llama a api varias veces en reaccionar?

Tengo una API muy básica y todo lo que hace es devolver el texto "Día soleado".

Creo un proyecto de reacción usando crear la aplicación de reacción e intento llamar a la API una vez y luego imprimo el resultado en la consola.

Aquí está la aplicación de reacción.

 import logo from './logo.svg'; import './App.css'; function App() { fetch('https://localhost:44386/weatherforecast') .then(response => response.text()) .then(data => console.log(data)); return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <p> Edit <code>src/App.js</code> and save to reload. </p> <a className="App-link" href="https://reactjs.org" target="_blank" rel="noopener noreferrer" > Learn React </a> </header> </div> ); } export default App;

El problema es que se llama a la API dos veces al cargar la página.

¿Alguien puede explicar por qué?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

En general, si desea ejecutar algo una vez, como obtener algo de la API al cargar la página, debe usar el useEffect con una matriz de dependencia vacía como esta:

 React.useEffect( () => { fetch('https://localhost:44386/weatherforecast') .then(response => response.text()) .then(data => console.log(data)); }, []) // <--- empty dependency array

Editar: Esto también podría ser causado por <StrictMode> . Tiene la intención de hacer que React se renderice dos veces en el modo de desarrollo para que pueda brindarle sugerencias sobre cómo puede mejorar su código y el uso de ganchos. ¡Esa podría ser la razón por la que su aplicación se procesa dos veces!

about 4 years ago · Juan Pablo Isaza Relatório

0

La API se llama dos veces porque su aplicación se procesa dos veces por algún motivo. Por qué el componente se procesa dos veces es otra pregunta para la que puede encontrar una respuesta en este subproceso de SO .

Dado que está llamando al punto final de esa manera, cada vez que su componente represente, se realizará una llamada a la API. Para evitar eso, puede agregar la llamada API en un useEffect y hacer que se ejecute solo la primera vez que se procesa su componente. ( Más sobre useEffect )

 useEffect(() => { fetch('https://localhost:44386/weatherforecast') .then(response => response.text()) .then(data => console.log(data)); }, []);
about 4 years ago · Juan Pablo Isaza Relatório

0

La razón es porque es posible que tenga instalado un trabajador de servicio. intente ejecutar el programa con
yarn start --no-service-worker o
npm start --no-service-worker

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