画像(複数)をマップメソッドで動的にインポートする必要があります。まず、ベース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]
});
}
次に、mapメソッドでJSONファイルから画像の名前を追加して、後で画像srcとして使用するこのようなベースURLを定義します。
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;
だからここに私が見つけたものがあり、それは私のために働いた。 Mオン
「ファイルローダー」:「4.3.0」、反応:16.12
。あなたのターミナルでこれを実行してください:
npm run eject
ファイルローダーをチェックインする
config/webpack.config
ファイルローダーの構成を見つけました。私がしたことは、「static/media/{your_image_name.ext}」というディレクトリを作成し、そこに「
オプション:{名前: "static/media/[name]。[hash:8]。[ext]"} "
次に、この画像を次のようにインポートしました
「static/media/my_logo.png」からInstanceNameをインポートします。
ハッピーハッキング。