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

308
Vistas
React-query / React-router dom issue

If I am using react-query and react-router, I can see the network requests happening when navigating, however the new data is not reflected in the view/page? Am I doing something wrong? I am doing lazy loading:

App.tsx

import React, { Suspense } from 'react';
import Loader from '../loader/Loader';

const App: React.FunctionComponent = () => {

  const Routing = React.lazy(() => import('../routing/Routing'));

  return (
    <>
      <Suspense fallback={<Loader />}>
        <DataProvider>
          <Routing />
        </DataProvider>
      </Suspense>
    </>
  );
}

export default App; 

router component:

import React from 'react';
import { BrowserRouter, Route, Switch} from 'react-router-dom';
import Header from '../header/Header';
import Component1 from './Component1';
import Compontent2 from './Component2';
import { QueryClient, QueryClientProvider } from 'react-query';
import { RouteComponentProps } from "react-router-dom";

const queryClient = new QueryClient()

const Routing: React.FunctionComponent = () => {

  return (
    <QueryClientProvider client={queryClient}>
    <BrowserRouter>
      <Header />
      <div className="App">
        <Switch>
          <Route exact path="/" component={Component1} />
          <Route path="/details/:id" render={(props: RouteComponentProps<any>) => <Component2 {...props}/>} />
        </Switch>
      </div>
    </BrowserRouter>
    </QueryClientProvider>
  )
}

export default Routing;

Component 1

const fetchAll = async () => {
        const res = await fetch('https:xxxxxx/xxxxx');
        return res.json();
    };

    const { data: result, status } = useQuery('info', fetchAll, {
        staleTime: 0,
    });

component 2 is using the same approach the react-query stuff is not in useEffect of anything?

How can I get the view to re-render on navigation and show the new data.

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

0

try and move the call to React.lazy outside of the fallback component?

 const Routing = React.lazy(() => import('../routing/Routing'));

const App: React.FunctionComponent = () => {
 return (
    <>
      <Suspense fallback={<Loader />}>
        <DataProvider>
          <Routing />
        </DataProvider>
      </Suspense>
    </>
  );
}

export default App; 

That's how they're using it in the official React docs here:

https://reactjs.org/docs/code-splitting.html

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