Импорт нескольких файлов в react
Я использую create-react-app для моего проекта react. Он получил webpack, настроенный для импорта изображений. Я хочу импортировать несколько изображений (скажем, 10) из папки изображений в компонент. Самый простой способ сделать это - добавить несколько операторов импорта, таких как -
import Img0 from '../images/0.png';
import Img1 from '../images/1.png';
import Img2 from '../images/2.png';
import Img3 from '../images/3.png';
import Img4 from '../images/4.png';
import Img5 from '../images/5.png';
import Img6 from '../images/6.png';
...
приведенный выше код не будет хорошим выбором, когда у нас есть множество файлов для импорта. Есть ли способ добавить операторы import в цикл? Я попытался добавить цикл for, но мне не удалось изменить переменные Img0, Img1 и т. д. (использование ES6 " не сработало, поскольку оно преобразовало переменную в строку)
1 ответов
вы не можете использовать один оператор импорта, но вы можете сделать это:
function importAll(r) {
let images = {};
r.keys().map((item, index) => { images[item.replace('./', '')] = r(item); });
return images;
}
const images = importAll(require.context('./images', false, '/\.png/'));
<img src={images['0.png']} />