Estados de carregamento nas Seções

Fallback de Carregamento

Visão Geral

Os fallbacks de carregamento são um conceito poderoso disponível para uso desde a versão 1.54.0, para lidar com o estado de carregamento de seções usando dados de APIs de terceiros. Eles permitem que você lide graciosamente com estados de carregamento e evite que toda a aplicação pare devido a alguma API de terceiros.

No deco, criar um fallback de carregamento é tão simples quanto exportar uma função de componente chamada LoadingFallback.

Os pré-requisitos para fazer com que seu componente funcione são ter as seguintes dependências em versões iguais ou superiores às listadas abaixo:

{
  "imports": {
    "deco/": "https://denopkg.com/deco-cx/[email protected]/",
    "$fresh/": "https://denopkg.com/deco-cx/[email protected]/",
    "preact": "https://esm.sh/[email protected]",
    "preact/": "https://esm.sh/[email protected]/",
    "preact-render-to-string": "https://esm.sh/*[email protected]",
    "@preact/signals": "https://esm.sh/*@preact/[email protected]",
    "@preact/signals-core": "https://esm.sh/@preact/[email protected]"
  }
}

Exemplo: Criando um Fallback de Carregamento

Para criar um fallback de carregamento, você pode seguir estes passos:

  • Escolha sua Seção selecionada (por exemplo, ProductShelf.tsx)
  • Exporte uma função chamada LoadingFallback.
// ProductShelf.tsx
export interface Props {
    myProp: string;
}

export function LoadingFallback() {
  // Renderize spinners, esqueletos e outros espaços reservados
  return (
    <div>
      <h2>carregando...</h2>
    </div>
  );
}

export default function ProductShelf(props: Props) {
    ...
}

Se ProductShelf usar dados provenientes de uma API de terceiros lenta, o componente LoadingFallback será renderizado em seu lugar. Se nenhum fallback de carregamento for definido, um fallback padrão será renderizado em seu lugar.

Was this page helpful?
Can't find what you're looking for? Spot an error in the documentation? Get in touch with us on our Community Forum
Continue reading