Color Schemes for Skeleton
are not implemented in the default theme. You can extend the theme to implement them.
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.
<Stack><Skeleton height='20px' /><Skeleton height='20px' /><Skeleton height='20px' /></Stack>
Or to wrap another component to take the same height and width.
<Skeleton><div>contents wrapped</div><div>won't be visible</div></Skeleton>
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#
<Box padding='6' boxShadow='lg' bg='white'><SkeletonCircle size='10' /><SkeletonText mt='4' noOfLines={4} spacing='4' /></Box>
Skeleton color#
You can change the animation color with startColor
and endColor
.
<Skeleton startColor='pink.500' endColor='orange.500' height='20px' />
Skipping the skeleton when content is loaded#
You can prevent the skeleton from rendering using the isLoaded
prop.
<Skeleton isLoaded><span>Chakra ui is cool</span></Skeleton>
Props#
colorScheme
colorScheme
Description
Type
string
endColor
endColor
Description
The color at the animation end
Type
string
fadeDuration
fadeDuration
Description
The fadeIn duration in seconds
Type
number
Default
0.4
isLoaded
isLoaded
Description
If true
, it'll render its children with a nice fade transition
Type
boolean
size
size
Type
string
speed
speed
Description
The animation speed in seconds
Type
number
Default
0.8
startColor
startColor
Description
The color at the animation start
Type
string
variant
variant
Type
string