Skeleton
Exiba uma visualização do espaço reservado de seu conteúdo antes que os dados sejam carregados, reduzindo a sensação de lentidão do tempo de carregamento.
Os dados dos seus componentes podem não estar imediatamente disponíveis. Você pode aumentar o desempenho percebido pelos usuários usando skeletons. Ele passa a sensação de que as coisas estão acontecendo imediatamente, então a informação é mostrada incrementalmente na tela (Cf. Evite uso de progressos).
O componente é projetado para ser usado diretamente em seus componentes. Por exemplo:
{item ? (
<img style={{ width: 210, height: 118 }} alt={item.title} src={item.src} />
) : (
<Skeleton variant="rect" width={210} height={118} />
)}
Variantes
O componente suporta 3 variantes de forma.
<Skeleton variant="text" />
<Skeleton variant="circle" width={40} height={40} />
<Skeleton variant="rect" width={210} height={118} />
Animações
Por padrão, o skeleton pulsa, mas você pode mudar a animação para uma onda ou desativá-la completamente.
<Skeleton />
<Skeleton animation={false} />
<Skeleton animation="wave" />
Don Diablo @ Tomorrowland Main Stage 2019 | Official…
Queen - Greatest Hits
Calvin Harris, Sam Smith - Promises (Official Video)
Why First Minister of Scotland Nicola Sturgeon thinks GDP is the wrong measure of a country's success:
Inferindo dimensões
Além de aceitar as propriedades width
e height
, o componente também pode inferir as dimensões.
Ele funciona bem quando se trata de tipografia, pois sua altura é definida usando a unidade em
.
<Typography variant="h1">
{loading ? <Skeleton /> : 'h1'}
</Typography>
Mas quando se trata de outros componentes, você pode não querer repetir a largura e a altura. Nessas situações, você pode passar componentes como children
, e ele vai inferir a sua largura e a altura a partir deles.
loading
? <Skeleton><Avatar /></Skeleton>
: <Avatar src={data.avatar} />
.
Ted
Acessibilidade
Telas com Skeleton fornecem uma alternativa aos métodos tradicionais de feedback. Em vez de mostrar um resumo abstrato na tela, telas com skeleton criam uma expectativa do que está por vir, reduzindo a sensação cognitiva do processo de carregamento.
A cor de fundo do skeleton usa uma quantidade menor de luminância para ser visível em boas condições (boa luz ambiente, boa tela, sem deficiência visual).