设置内联 backgroundImage 在 React 中不起作用

Setting inline backgroundImage is not working in React

我正在使用一个函数,它将 return 图像的完整路径。

  const imagePath = (imagePath) => {
    const domainPath = "http://localhost:9005/gallery/original/";
    const fullImagePath = domainPath + imagePath;
    return fullImagePath;
  };

现在如果我使用下面的代码,它将工作并在浏览器上显示图像:

<img
 src={imagePath(item.mediaPath)}
 alt="cow images"
/>

但是如果我使用下面的代码,它将不起作用:

<div
  className="bg-image-blur"
  style={{
    backgroundImage:
      "url(" +
      imagePath(item.mediaPath) +
      ")",
  }}
></div>

请查看我的检查元素中给出的下图。样式已添加到元素:

如果我不使用 imagePath 功能,它也不会工作:

<div
  className="bg-image-blur"
  style={{
    backgroundImage:
      "url(" +
      "http://localhost:9005/gallery/original/" +
      id.mediaPath +
      ")",
  }}
></div>

有什么问题?

它不起作用,因为您没有为 url 输入 ''。我建议您使用 template literals 作为字符串连接,以便于查看

<div
  className="bg-image-blur"
  style={{
    backgroundImage: `url('${imagePath(item.mediaPath)}')`,
  }}
></div>

您可以检查 this document 以了解 background-imageurl

的外观