我想在以编程方式呈现图像之前预加载图像。示例:
<Image
src={
color === "yellow"
? Yellow
: color === "blue"
? Blue
: Red
}
alt="color image"
priority
fill
sizes="250px"
/>
字符串
如果color
的默认值为"yellow"
,则优化的黄色图像将在页面加载时呈现。
例如,当通过菜单将color
的值更改为"blue"
时,蓝色图像将被加载和渲染。加载需要一段时间,因此图像将在一点延迟后显示。
如何预加载所有三个图像黄色,蓝色和红色,以便在页面加载时更改color
的值时立即显示它们,而不会失去NextJS <Image/>
组件的好处?
我尝试使用<Image/>
组件的priority
和loading
属性,但如果图像不应该被渲染,它们就没有效果。
1条答案
按热度按时间hc2pp10m1#
通过为每种颜色添加三个图像并将图像 Package 器的
display
属性设置为none来解决:字符串
这样,每个图像都在页面加载时加载,并在有条件地更改
color
的值时立即呈现