I want to make an image slider in my application using the ‘react-simple-image-slider ‘ package. But it only show the first image only..
In my firestore, my imageUrl is stored like this:
In the documentation of the package, it shows that the ‘images’ should be stored in this format:
The website of this package: https://www.npmjs.com/package/react-simple-image-slider
Then, in my application, I have fetched the data and store the imageUrl into the ‘image’ and pass it into ‘SimpleImageSlider’ to use it.
const ProductPage = ({ collection, match }) => { const { items } = collection; const image = [{url: items[match.params.itemId - 1].imageUrl}]; console.log(image); return ( <div className='collection-page'> <SimpleImageSlider width={500} height={500} images={image} showBullets={true} showNavs={true} /> <div className='items'> {items[match.params.itemId - 1].name} </div> </div> ) };
However, the application only show the first image in the slider:
I have console.log(image) and I thought I already store the 3 imageURL into the array, but I have no idea why it only displays the first one? Is it something wrong on the method I store the ‘image’ and how can I convert it to fit the structure that the documentation need from the data I fetched from database?
Advertisement
Answer
Your array is of format url: []
, when the docs say each object in the array should be of format { url: "" }
. So, ensure your array looks like this:
[ { url: "https://..." }, { url: "https://..." }, { url: "https://..." }, ]