当图像不存在时不显示下一个/图像组件

2023-12-26

我正在使用 next/image,并且当图像的路径无效时,我希望图像根本不渲染,例如。该图像不存在。现在它显示小图标和替代名称。在这种情况下我不想显示任何东西。那可能吗?由于它是前端我无法使用fs检查,所以我不知道该怎么做

      <Image
         src={`/scroll-${router.locale}.svg`}
         alt="scroll"
         width="240px"
         height="240px"
         className="opacity-50"
       />


您可以扩展内置next/image并添加一个onError如果图像加载失败,处理程序将不渲染组件。

import React, { useState } from 'react';
import Image from 'next/image';

const ImageWithHideOnError = (props) => {
    const [hideImage, setHideImage] = useState(false);

    return (
        !hideImage && (
            <Image
               {...props}
               onError={() => {
                   setHideImage(true);
               }}
            />
        )
    );
};

export default ImageWithHideOnError;

然后您可以使用该组件来代替next/image.

<ImageWithHideOnError
    src={`/scroll-${router.locale}.svg`}
    alt="scroll"
    width="240px"
    height="240px"
    className="opacity-50"
/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当图像不存在时不显示下一个/图像组件 的相关文章

随机推荐

  • AUTH_LOGIN 获取完成后如何调用 AUTH_CHECK?

    我正在调用 HTTP API 以使用返回承诺的 axios 登录 AUTH LOGIN 在 API 调用完成之前 AUTH CHECK 被调用并失败 是否可以仅在 http 调用完成后触发 AUTH CHECK 请在下面找到我的 authp
  • Android:如何使用相同的相机意图拍摄多张照片

    我制作了一个 Android 应用程序 可以一张一张地拍摄照片 存储它们 向用户提供预览等等 所有这些任务都是通过类型意图来完成的ACTION IMAGE CAPTURE 所以 每次用户想要拍照时 他应该点击启动意图的 拍照按钮 等待几秒钟
  • 如何将特定状态按组与R中的ggplot2中的一个标签合并在一起?

    我想绘制美国的电网地图 所以我需要将特定的州合并在一起 我想为这些状态绘制边界 但它不起作用 每组也只有一个标签 这是我的数据 https iastate box com s 12xru62lvmbbkrohsn7b4wwexq11umn7
  • CSS :第一个子选择器 IE7

    我遇到了 IE7 的小问题 我有以下 CSS 代码 但它在 IE7 中不起作用 但是 如果不组合 row class span 和 first child 都可以工作 有没有办法做类似的事情或者让它以某种方式工作 row class spa
  • 我可以在 INSERT 语句中使用别名吗?

    我们可以在 insert into 语法中使用别名吗 以下均无效 INSERT INTO tableblabla AS bla INSERT INTO bla tableblabla INSERT INTO tableblabla bla
  • 使用 Java API 创建简单的 1 行 Spark DataFrame

    在 Scala 中 我可以从内存中的字符串创建单行 DataFrame 如下所示 val stringAsList List buzz val df sqlContext sparkContext parallelize jsonValue
  • Dnx 4.5.1/Dnx Core 5.0 不明确的参考

    在我和其他人的许多项目中 如果我使用属于不同 asp net5 项目的对象 则会弹出不明确的引用错误 有趣的是 它仍然可以编译和工作 但没有智能感知 并且我的代码被红线覆盖 一个例子是我有一个指向我的 MVC 项目的测试项目 当我尝试创建
  • 自定义元素适用于 Safari,但不适用于 Firefox 和 Chrome

    我确信我遗漏了规范中的一些基本内容 但在运行于 Safari 的 Mac 上构建了大量自定义元素后 我发现它们不适用于 Firefox 和 Chrome 我缺少什么
  • GlobalScope、CoroutineScope、lifecycleScope

    我习惯于与AsyncTask由于它的简单性 并且很好地理解它 但Coroutines让我感到困惑 您能简单地向我解释一下以下各项的区别和用途吗 GlobalScope launch Dispatchers IO GlobalScope la
  • VBA多次插入图像,无需复制、粘贴

    这里有一个有点奇怪的问题 在我的一张 Excel 工作表上 我生成了一个 pdf 文档 该代码通过根据需要添加表段并根据需要手动设置分页符来运行 以便表不会分散在单个页面上 大多数表有 5 10 行 在每页的底部 还留有足够的行来插入图像
  • 访问 C 中的命令行参数

    如果这是一个菜鸟问题 请原谅我 但我是 C 的初学者 只学习了一段时间 我尝试编写一个对两个数字求和的程序 作为应用程序的参数提供 代码是这样的 include
  • C 结构点运算符到底做什么(低级视角)?

    我有一个关于 C 中结构的问题 因此 当您创建结构时 您实际上是在定义内存块的框架 因此 当您创建结构体的实例时 您正在创建一个内存块 以便它能够保存一定数量的元素 但是 我对点运算符的作用有些困惑 如果我有一个struct Car并有一个
  • 我的代码循环次数超出了我的预期,我怀疑我的 getchar 语句有问题

    首先 我要提前感谢在座的各位 我非常期待在计算机科学领域取得进步 并随着我变得更加熟练而帮助他人 现在这是我的代码 include
  • Rstudio运行和源码的区别

    我正在使用 Rstudio 不确定选项 运行 和 源 有何不同 我尝试用谷歌搜索这些术语 但 来源 是一个非常常见的词 无法获得良好的搜索结果 Run and source具有细微不同的含义 据 RStudio 报道文档 https sup
  • ExtJS 组合框过滤器

    我有两个组合框 第一个用于选择region 第二个用于选择province 应显示在省份组合框中的值将基于区域组合框中选择的值 区域组合框代码 xtype combobox label Region ID margin 10 20 flex
  • 如何解决“都使用 XML 类型名称 X,使用 XML 属性为类型指定唯一的 XML 名称和/或命名空间”?

    我有以下枚举定义 namespace ItemTable public enum DisplayMode Tiles Default namespace EffectiveItemPermissionTable public enum Di
  • 如何在 matplotlib 中制作空白子图?

    我正在 matplotlib 中制作一组子图 例如 3 x 2 但我的数据集少于 6 个 如何将剩余的子图留空 安排如下 0 0 0 1 1 0 1 1 2 0 2 1 这可能会持续几页 但在最后一页上 例如有 5 个数据集 2 1 框将为
  • IE 的 AWS 签名问题

    我目前正在将文件直接上传到 S3 用户应该能够将一个或多个文件拖到站点的定义部分 然后向我的服务器发出请求并为上传的文件生成签名 首先 我请求从服务器计算的有效签名 生成的签名如下所示 success action status
  • BackboneJs:在视图中 el: 和 tagName 之间有什么区别:

    我正在尝试理解这个概念 你能帮我简化一下这个问题吗 也许可以提供一个简单的例子来说明两者之间的区别el 属性和tagName 属性 在一些示例中 不同的视图使用el 有时和其他人使用tagName 我专门搞乱了我自己的实现example h
  • 当图像不存在时不显示下一个/图像组件

    我正在使用 next image 并且当图像的路径无效时 我希望图像根本不渲染 例如 该图像不存在 现在它显示小图标和替代名称 在这种情况下我不想显示任何东西 那可能吗 由于它是前端我无法使用fs检查 所以我不知道该怎么做