我试图访问一个静态图像在React内的内联backgroundImage属性中使用。不幸的是,我已经不知道该怎么做了。

总的来说,我认为你是这样做的:

import Background from '../images/background_image.png';

var sectionStyle = {
  width: "100%",
  height: "400px",
  backgroundImage: "url(" + { Background } + ")"
};

class Section extends Component {
  render() {
    return (
      <section style={ sectionStyle }>
      </section>
    );
  }
}

这适用于<img>标签。有人能解释一下两者的区别吗?

例子:

<img src={Background} />工作得很好。

谢谢你!


当前回答

你可以使用模板文字(用反标记:'…'括起来)代替。对于这样的backgroundImage属性:

backgroundImage: `url(${Background})`

其他回答

还可以使用require()函数将图像引入组件。

<div style={{{\{\背景:' url(require, "images/img.svg") ' >

注意这两组花括号。第一组用于进入反应模式,第二组用于表示对象

这对我很有效

style={{backgroundImage: url(${require("../assets/pet4.jpeg").default})}}

只需添加所需的文件或url

<div style={
   {
      backgroundImage: `url(${require("./path_local")})`,      
   }
}
>

或者在css中设置base64 image

div {
  background:
    url('data:image/gif;base64,R0lGODlhZQBhAPcAACQgDxMFABsHABYJABsLA')
    no-repeat
    left center;
}

您可以使用https://www.base64-image.de/进行转换

将图像复制到React组件的文件夹中。 复制以下代码:

<div className="welcomer" style={{ backgroundImage: url(${myImage}) }}></div>

使用CSS为.welcomer指定一个高度,以便您可以看到所需大小的图像。

你可以试着在整个url上添加反引号

风格= {{backgroundImage: url(${瓦尔。image || 'http://max-themes.net/demos/grandtour/upload/Tokyo_Dollarphotoclub_72848283-copy-700x466.jpg'})