Skeleton

Skeleton is used to display the loading state of some components.

Import#

import { Skeleton, SkeletonCircle, SkeletonText } from "@chakra-ui/react"

Usage#

You can use it as a standalone component.

Editable Example

Or to wrap another component to take the same height and width.

contents wrapped
won't be visible
Editable Example

Useful when fetching remote data.

import { Box } from "@chakra-ui/react"
function Card() {
const { data, loading, error } = useRemoteData()
if (error) return <Box children="error" />
return (
<Box>
<Skeleton isLoaded={!loading}>
<Heading>{data.title}</Heading>
</Skeleton>
</Box>
)
}

Circle and Text Skeleton#

Editable Example

Skeleton color#

You can change the animation color with colorStart and colorEnd.

Editable Example

Skipping the skeleton when content is loaded#

You can prevent the skeleton from rendering using the isLoaded prop.

Chakra ui is cool
Editable Example

Props#

NameTypeDescriptionDefault
colorSchemestring-
endColorstringThe color at the animation end-
fadeDurationnumberThe fadeIn duration in seconds0.4
isLoadedbooleanIf `true`, it'll render its children with a nice fade transition-
sizestring-
speednumberThe animation speed in seconds0.8
startColorstringThe color at the animation start-
variantstring-
Edit this page