Объект карты в массиве объектов реакция-изображение-галерея - PullRequest
0 голосов
/ 04 марта 2020

Я хочу использовать ответную галерею изображений, когда структура выглядит следующим образом:

let images = [{original: '1.jpg', thumbnail: '1.jpg'}, {original: '2.jpg', thumbnail: '2.jpg'}, ... ];

<ImageGallery items={images}/>

В моем случае:

const somObj = {name: 'some-name', photos: ['/somObj/1.jpg', '/somObj/2.jpg', ...]};

Я пытался отобразить так:

<ImageGallery items={[
somObj.map(item=> ({ original: item, thumbnail: item }) )
]}/>

Я тоже пробовал по-другому, но все равно не работает.

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

ваш someObj не является массивом, массив photos внутри someObj:

<ImageGallery items={[
somObj.photos.map(item=> { return {original: item, thumbnail: item }})
]}/>
0 голосов
/ 04 марта 2020

Вы отображаете на неправильном уровне

Вы можете использовать карту только в массиве, поэтому go внутри вашего объекта и в массиве фотографии. Вам также не нужны скобки массива вокруг карты, так как карта уже возвращает массив.

<ImageGallery items={somObj.photos.map(item => ({ original: item, thumbnail: item }))}/>
...