我正在尝试构建一个React应用程序,我需要使用多个图像。那么,我是否需要像这样导入我要使用的每个图像:
import image from '/img/img1.png';
<img src={img} />
还有其他的方式吗?PS:我已经尝试了"require",但是它也报错了:
<img src={windows.location.origin +'/img/img1.png'}/>
没有输出
我正在尝试构建一个React应用程序,我需要使用多个图像。那么,我是否需要像这样导入我要使用的每个图像:
import image from '/img/img1.png';
<img src={img} />
<img src={windows.location.origin +'/img/img1.png'}/>
没有输出
'/img'
中的所有png文件导入images
变量。 然后,您可以通过images["img(n).png"]
来使用图像。function importAll(r) {
let images = {};
r.keys().map((item, index) => { images[item.replace('./', '')] = r(item); });
return images;
}
const images = importAll(require.context('/img', false, '/\.jpg/'));
<img src={images["img1.png"]} />
images.js
:
import img1 from "/img/img1.jpg"
import img2 from "/img/img2.jpg"
import img3 from "/img/img3.jpg"
.
.
.
import img(n) from "/img/img(n).jpg"
export default [
img1,
img2,
...
];
在其他文件中只需一行导入这个数组:
import imgs from './images';
附言:请参考我在类似问题上的被采纳的回答。
const imageNames = ['img1.jpg', 'img2.jpg', 'img3.jpg']
render() {
...
imageNames.map(image => <img src={`/img/${image}`}></img>)
...
}
与其像@koko-js478所提到的使用数组[],请按照以下方式导出js文件:
icons.js:
import animals_for_sale from '../Assets/icons/animals_for_sale.svg';
import baby_toys from '../Assets/icons/baby_toys.svg';
import cars_and_vehicles from '../Assets/icons/cars_and_vehicles.svg';
import contact_us from '../Assets/icons/contact_us.svg';
import devices from '../Assets/icons/devices.svg';
import electronic_appliances from '../Assets/icons/electronic_appliances.svg';
import fashion from '../Assets/icons/fashion.svg';
import home_and_garden from '../Assets/icons/home_and_garden.svg';
import homepage_icon from '../Assets/icons/homepage_icon.svg';
import login from '../Assets/icons/login.svg';
import my_account from '../Assets/icons/my_account.svg';
import privacy_policy from '../Assets/icons/privacy_policy.svg';
import real_estate_for_rent from '../Assets/icons/real_estate_for_rent.svg';
import real_estate from '../Assets/icons/real_estate.svg';
import services from '../Assets/icons/services.svg';
import use_app from '../Assets/icons/use_app.svg';
export default {
'animals_for_sale':animals_for_sale,
'baby_toys':baby_toys,
'cars_and_vehicles':cars_and_vehicles,
'contact_us':contact_us,
'devices':devices,
'electronic_appliances':electronic_appliances,
'fashion':fashion,
'home_and_garden':home_and_garden,
'homepage_icon':homepage_icon,
'login':login,
'my_account':my_account,
'privacy_policy':privacy_policy,
'real_estate_for_rent':real_estate_for_rent,
'real_estate':real_estate,
'services' :services,
'use_app':use_app
};
import icons from './icons';
之后,您可以像这样使用每个单独的图标:
<li><a className='dropdown-item'><img src={icons.cars_and_vehicles} className="img-section"/>Voitures et véhicules »</a>
function importAll(r) {
let images = {};
r.keys().forEach((item, index) => { images[item.replace('./', '')] = r(item); });
return images
}
const images = importAll(require.context('../assets', false, /\.(png|jpe?g|svg)$/));