【发布时间】:2019-02-09 18:33:52
【问题描述】:
我需要通过 map 方法从我的图像文件中动态导入图像(多个)。首先,我想为我的图像文件设置一个基本 URL,然后从包含图像属性的 JSON 文件中读取图像的名称,然后相应地设置图像 src。 JSON 文件如下:
{
"title": "Blue Stripe Stoneware Plate",
"brand": "Kiriko",
"price": 40,
"description": "Lorem ipsum dolor sit amet...",
"image": "blue-stripe-stoneware-plate.jpg"
},
{
"title": "Hand Painted Blue Flat Dish",
"brand": "Kiriko",
"price": 28,
"description": "Lorem ipsum dolor sit amet...",
"image": "hand-painted-blue-flat-dish.jpg"
},
我已经阅读了 redux 的产品,效果很好 =>
const products = this.props.products;
console.log(products, 'from redux');
const fetchProducts = [];
for (let key in products) {
fetchProducts.push({
...products[key]
});
}
现在我想定义一个像这样的基本 URL,稍后通过在 map 方法中添加 JSON 文件中的图像名称来用作图像 src:
const baseUrl = '../../components/assets/images/';
const fetchProducts = [];
for (let key in products) {
fetchProducts.push({
...products[key]
});
}
const productCategory = fetchProducts.map((product, index) => {
return (
<Photo
key={index}
title={product.title}
brand={product.brand}
description={product.description}
imageSource={baseUrl + product.image}
imageAlt={product.title}
/>
);
});
我的照片组件如下所示:
const photo = props => (
<div className={classes.Column}>
<img src={require( `${ props.imageSource }` )} alt={props.imageAlt} />
<div className={classes.Container}>
<p>{props.brand}</p>
<p>{props.title}</p>
<p>{props.price}</p>
</div>
</div>
);
export default photo;
【问题讨论】:
-
这个
import("../../components/assets/images/")你认为这会以某种方式指定一个文件夹供以后使用...? 如果你想要做的事情完全可以工作,你必须先将baseURL和图像文件名组合成一个有效的路径,然后导入它。跨度>
标签: javascript reactjs ecmascript-6 base-url