reactjs NextJS -如何在网站启动时预加载图像,甚至在到达显示图像的页面之前?

gjmwrych  于 2022-12-26  发布在  React
关注(0)|答案(1)|浏览(251)

我正在使用nextjs为一个网站,其中有一个画廊,我想开始预加载所有的资产,从画廊,只要我们进入页面,但似乎不知道如何做到这一点。我曾试图隐藏一个链接到画廊的布局,头部,第一页,但它似乎不工作。我正在使用nextjs图像组件,但不'I don“我没有发现它在图像优化方面如此强大,但也许我做错了。
请帮帮忙🙏

const GalleryUnit = ({ publicId, openRecap }) => {
  const galleryUnitRef = useRef();
  const placeholderSrc = assetPath(publicId, "jpg", 1);
  const src = assetPath(publicId, "jpg", 100);

  return (
    <motion.div
      variants={unitAnim}
      ref={galleryUnitRef}
      className="galleryUnit relative"
      onClick={openRecap}
    >
      <Image
        src={src}
        placeholder={placeholderSrc}
        alt="Lia's art"
        fill
        sizes="100%"
      />
    </motion.div>
  );
};
2w2cym1i

2w2cym1i1#

可以在Image上使用priority属性。
如果为true,则图像将被视为高优先级并预加载。对于使用priority的图像,将自动禁用延迟加载。
例如:

const GalleryUnit = ({ publicId, openRecap }) => {
  const galleryUnitRef = useRef();
  const placeholderSrc = assetPath(publicId, "jpg", 1);
  const src = assetPath(publicId, "jpg", 100);

  return (
    <motion.div
      variants={unitAnim}
      ref={galleryUnitRef}
      className="galleryUnit relative"
      onClick={openRecap}
    >
      <Image
        src={src}
        placeholder={placeholderSrc}
        alt="Lia's art"
        fill
        sizes="100%"
        priority
      />
    </motion.div>
  );
};

相关问题