Resolvido: reagir carga preguiçosa do roteador

O principal problema relacionado ao carregamento lento do React Router é que ele pode causar problemas de desempenho se não for implementado corretamente. O carregamento lento pode aumentar o tempo inicial de carregamento da página, pois o código de cada componente precisa ser carregado separadamente. Além disso, se um componente não for usado com frequência, ele pode nunca ser carregado, resultando em desperdício de recursos. Por fim, existem possíveis problemas de compatibilidade com navegadores mais antigos que não oferecem suporte ao carregamento lento.

import React, { Suspense } from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';

const Home = React.lazy(() => import('./Home'));
const About = React.lazy(() => import('./About'));
const Contact = React.lazy(() => import('./Contact'));
 
function App() { 

  return ( 

    <Router> 

      <Suspense fallback={<div>Loading...</div>}>

        <Switch>  

          <Route exact path="/" component={Home} />  

          <Route path="/about" component={About} />  

          <Route path="/contact" component={Contact} />  

        </Switch>  

      </Suspense> 

    </Router>  ); } export default App;

1. importar React, { Suspense } de 'react';
// Esta linha importa a biblioteca React e o componente Suspense da biblioteca React.

2. import { BrowserRouter as Router, Route, Switch } de 'react-router-dom';
// Esta linha importa os componentes BrowserRouter, Route e Switch da biblioteca react-router-dom.

3. const Home = React.lazy(() => import('./Home'));
// Esta linha cria uma constante chamada Home que usa o recurso de carregamento lento do React para importar dinamicamente um componente chamado Home de um arquivo no mesmo diretório que este arquivo (o componente App).

4. const Sobre = React.lazy(() => import('./Sobre'));
// Esta linha cria uma constante chamada About que usa carregamento lento para importar dinamicamente um componente chamado About de um arquivo no mesmo diretório que este arquivo (o componente App).
const Contato = React.lazy(() => import('./Contato')); // Esta linha cria uma constante chamada Contact que usa carregamento lento para importar dinamicamente um componente chamado Contact de um arquivo no mesmo diretório que este arquivo (o componente App).

5. função App() {return ( // Esta é uma função de seta que retorna o código JSX agrupado na tag Router importada anteriormente

6.Carregando ...

}> //Esta tag Suspense envolve todas as nossas rotas com props fallback de Loading… se alguma rota demorar para carregar

7. //Switch tag garantirá que apenas uma rota seja renderizada de uma só vez

8. //Esta rota renderizará o Home Component quando o caminho exato “/” for correspondido

9. //Esta rota renderizará o componente About quando o caminho "/about" for correspondido

10. //Esta rota renderizará o componente de contato quando o caminho “/contact” for encontrado ) } export default App; //Finalmente fechamos todas as tags e exportamos nosso app

Problema de carga lenta

Lazy loading é uma técnica usada para atrasar o carregamento de certos componentes até que sejam necessários. Isso pode ajudar a melhorar o desempenho de um aplicativo carregando apenas o necessário em um determinado momento. No entanto, isso pode ser um problema ao usar o React Router, pois ele não oferece suporte ao carregamento lento pronto para uso. Para contornar esse problema, os desenvolvedores devem configurar manualmente suas rotas para habilitar o carregamento lento. Isso pode envolver a configuração de importações dinâmicas e divisão de código, que podem ser tarefas complexas e demoradas. Além disso, algumas bibliotecas, como React Loadable, podem precisar ser usadas para implementar corretamente o carregamento lento com o React Router.

O que é Reagir carga lenta

React lazy load é um recurso do React Router que permite o carregamento de componentes sob demanda. Isso significa que, em vez de carregar todos os componentes de uma vez, apenas os componentes necessários são carregados quando necessário. Isso ajuda a reduzir o tempo inicial de carregamento da página e melhorar o desempenho. Também permite uma melhor organização do código e separação de preocupações, pois cada componente pode ser carregado de forma independente.

Como faço para usar o React lazy no meu roteador

React lazy é um recurso do React que permite importar componentes dinamicamente. Isso significa que, em vez de carregar todos os componentes antecipadamente, você pode carregá-los conforme necessário. Isso pode ser útil para otimizar o desempenho em aplicativos grandes.

Para usar o React lazy em seu roteador no React Router, você precisa agrupar o componente que deseja carregar lentamente em uma chamada de importação dinâmica. Por exemplo:

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

Então, ao definir suas rotas, simplesmente passe o componente MyComponent para o componente Route da seguinte forma:

Isso fará com que o React Router carregue dinamicamente o componente MyComponent ao navegar para essa rota.

Artigos relacionados:

Deixe um comentário