【问题标题】:Remove missing Images from array React.js从数组 React.js 中删除丢失的图像
【发布时间】:2022-01-07 22:08:16
【问题描述】:

我有来自外部 API 的图像数组,我想过滤损坏的图像,然后再将它们显示在轮播上。正如您现在所看到的,如果图像丢失,我会映射每个图像并将 MissingImage 组件显示为卸载程序,但在我的情况下,有时 API 上无法使用一半以上的图像。如果图像在传递给 Carousel 组件之前不可用,我该如何跳过它们?

          {images.map((img, i) => (
        <Dot
          key={i}
          type="button"
          onClick={() => {
            setThumbsPosition(i);
            goToSlide(i);
            setActiveSlide(i);
          }}
          active={activeSlide === i}
          ref={i === 0 && slideRef}
        >
          <SliderDotImage>
            <Img
              loading="lazy"
              src={[img.url.bigger]}
              unloader={<MissingImage small />}
            />
          </SliderDotImage>
        </Dot>
      ))}

【问题讨论】:

  • 你必须先获取它们
  • @evolutionxbox 我不能因为 CORS 政策...
  • 那我不知道你能不能先把它们放到页面上

标签: javascript reactjs react-image


【解决方案1】:

您可以使用 && 运算符来检查我们是否有图片 URL:

{images.map((img, i) => (
        <Dot
          key={i}
          type="button"
          onClick={() => {
            setThumbsPosition(i);
            goToSlide(i);
            setActiveSlide(i);
          }}
          active={activeSlide === i}
          ref={i === 0 && slideRef}
        >
          <SliderDotImage>
            <Img
              loading="lazy"
              src={img?.url && img.url} // or src={img && img.url}
              unloader={<MissingImage small />}
            />
          </SliderDotImage>
        </Dot>
      ))}

【讨论】:

  • 图片 URL 始终可用,但问题是该 URL 有时根本没有图片
猜你喜欢
  • 2023-03-14
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多