Resolvido: reagir roteador v6 suspense preguiçoso

O principal problema relacionado ao suspense preguiçoso do React Router v6 é que ele ainda não é totalmente suportado por todos os navegadores. Isso significa que os usuários podem ter problemas ao tentar acessar determinadas páginas ou recursos em sites usando o suspense preguiçoso do React Router v6. Além disso, ainda existem alguns bugs e problemas de desempenho que precisam ser resolvidos antes que ele possa ser usado em ambientes de produção. Por fim, a API para componentes de carregamento lento com Suspense ainda está em seus estágios iniciais e pode exigir mais tempo de desenvolvimento para garantir a compatibilidade com os aplicativos existentes.

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 AppRouter() { 

    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 AppRouter;

1. Este código importa a biblioteca React, bem como o componente Suspense do React, e os componentes BrowserRouter, Route e Switch do react-router-dom.
2. Em seguida, ele define três componentes (Home, About, Contact) usando o recurso de carregamento lento do React para importá-los de seus respectivos arquivos.
3. É definida a função AppRouter que retorna um componente Router contendo um componente Suspense com um componente Switch dentro dele.
4. Dentro do componente Switch estão três componentes Route, cada um renderizando um dos componentes importados quando seus respectivos caminhos são encontrados na URL (por exemplo, '/' para Home).
5. Finalmente, o AppRouter é exportado para que possa ser usado em outro lugar no aplicativo.

Como você usa o carregamento lento no roteador react v6

v6

Lazy loading é uma técnica usada para adiar o carregamento de certos componentes até que sejam necessários. No React Router v6, o carregamento lento pode ser obtido usando a sintaxe dynamic import(). Essa sintaxe permite que você divida seu código em vários pacotes que podem ser carregados sob demanda ou em paralelo. Isso ajuda a reduzir o tamanho do pacote inicial e melhorar o desempenho. Para usar o carregamento lento com o React Router v6, você deve agrupar o componente que deseja carregar lentamente em uma chamada import() dinâmica. A chamada import() retornará uma promessa que será resolvida quando o componente for carregado e estiver pronto para ser renderizado.

O que é suspense e preguiça em reagir

Suspense no React Router é uma maneira de atrasar o carregamento de uma rota até que alguma condição seja atendida. Isso pode ser usado para melhorar o desempenho de um aplicativo apenas carregando rotas quando elas são necessárias. Por exemplo, se um usuário estiver navegando para uma página que requer autenticação, a rota pode ser atrasada até que a autenticação seja concluída.

O carregamento lento no React Router permite que os componentes sejam carregados de forma assíncrona quando forem necessários, em vez de serem carregados todos de uma vez. Isso melhora o desempenho carregando componentes apenas quando eles são necessários e reduz a quantidade de dados que precisam ser transferidos pela rede. O carregamento lento também ajuda na divisão de código, permitindo que aplicativos maiores sejam divididos em blocos menores que podem ser carregados sob demanda.

Artigos relacionados:

Deixe um comentário