Executando verificação de segurança...
2

[HILT] - Hack I Learned Today - Compartilhe o hackzinho quê você aprendeu hoje

Hack I Learned Today

Fala turma, a ideia é simples, compartilhe aquele hackzinho que você aprendeu hoje de bobeira, por conta de alguma situação ímpar no trabalho ou progredindo em algum projeto pessoal.
Segue abaixo meus aprendizados de hoje:

Lazy loading + Suspense (ReactJS):

Lazy loading (Code-Splitting):

É basicamente uma forma de carregar os conteúdos de uma página / componente por demanda.
De forma que ao acessar a home do seu projeto (por exemplo), não será necessário carregar todas os demais recursos presentes em outras páginas, ainda não acessadas pelo usuário.

Suspense:

Suspense permite que a renderização do componente espere por algo antes de efetivamente acontecer.
Em conjunto com o lazy loading, basicamente conseguimos passar uma renderização temporária como feedback para o usuário enquanto os recursos são carregados.
Informando na propriedade fallback do componente, muito chique para usar aqueles componentes de esqueleto enquanto os recursos estão sendo carregados.

import React, { Suspense } from 'react';

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

function MyComponent() {
  return (
    <div>
      <Suspense fallback={<div>Loading...</div>}>
        <section>
          <OtherComponent />
          <AnotherComponent />
        </section>
      </Suspense>
    </div>
  );
}

Segue um vídeo muito top do canal do Pedro Tech, utilizando esses recursos na parte de rotas da aplicação:
https://www.youtube.com/watch?v=-4fyyyQjsz8&ab_channel=PedroTech

Exemplo de código extraído da documentação do react:
https://reactjs.org/docs/code-splitting.html

Alguns componentes de feedback interessantes para utilizar em conjunto com o Suspense (Ant Design):
https://ant.design/components/skeleton
https://ant.design/components/spin

Carregando publicação patrocinada...