I'm having a problem with a component that should render pictures if (and only if) some are passed in props.
I've declared a const UserImagesJsx
inside a condition, but I can't access it inside the returned expression, it tells me it's undefined.
Here is the code:
import React from 'react';
import styled from 'styled-components'
import FlickityComponent from 'react-flickity-component'
import 'flickity/css/flickity.css'
const ImagesContainer = styled.div`
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
`
const flickityOptions = {...}
function UserImages(props) {
const userPictures = props.images;
if (userPictures) {
const UserImagesArray = () => {
return (
userPictures.map((text, index) =>
<img id={`profile-image-${index}`} src={text.url} alt={text.name} key={text.name} />
// onClick={() => openModal(text._id)}
));
}
const UserImagesJsx = () => {
return (
<ImagesContainer>
<FlickityComponent className={'carousel'} elementType={'div'} options={flickityOptions}>
<UserImagesArray/>
</FlickityComponent>
</ImagesContainer>
);
}
}
return (
<ImagesContainer>
{ userPictures && <UserImagesJsx/> }
</ImagesContainer>
);
}
export default UserImages;