我试图访问一个静态图像在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} />工作得很好。
谢谢你!
如果你使用webpack,你需要编辑webpack.config.js和
把这个加进去
module: {
rules: [
{
test: /\.(png|jpe?g|gif)$/i,
dependency: { not: ['url'] },
use: [
{
loader: 'url-loader',
options: {
limit: 8192,
},
},
],
},
],
}
如果你使用文件加载器来渲染图像,你需要像下面这样删除它:
{
test: /\.(png|jpe?g|gif)$/i,
loader: 'file-loader',
},
在CSS文件中,不要使用background-image,而是使用background:
background: url(Background);
有关webpack与图像的更多信息,请参见此:
https://v4.webpack.js.org/loaders/url-loader/
如果你使用webpack,你需要编辑webpack.config.js和
把这个加进去
module: {
rules: [
{
test: /\.(png|jpe?g|gif)$/i,
dependency: { not: ['url'] },
use: [
{
loader: 'url-loader',
options: {
limit: 8192,
},
},
],
},
],
}
如果你使用文件加载器来渲染图像,你需要像下面这样删除它:
{
test: /\.(png|jpe?g|gif)$/i,
loader: 'file-loader',
},
在CSS文件中,不要使用background-image,而是使用background:
background: url(Background);
有关webpack与图像的更多信息,请参见此:
https://v4.webpack.js.org/loaders/url-loader/