В моем приложении есть карты, которые отображают модальное изображение при нажатии. Я использую Material UI, поэтому они называются Dialogs. У меня есть объект (идентификатор, имя, описание), содержащий все данные для каждой карты. Пока у меня есть настроенный цикл, который отображает каждую карту с соответствующим заголовком и изображением, основываясь на моих данных JSON. Я пытаюсь выяснить, как передать ссылку с карты, по которой щелкают, в модал и отобразить описание в зависимости от выбранного модала.
Я опущу код, который не считаю необходимым
export default ({courses}) => {
const [open, setOpen] = React.useState(false);
const handleClickOpen = () => {
setOpen(true);
};
const handleClose = () => {
setOpen(false);
};
return (
<Grid container className={mainGrid}>
{Object.keys(courses).map((index, key) => {
return (
<Grid item xs key={key}>
<Card className={cardStyle}>
<CardActionArea onClick={handleClickOpen}>
<CardMedia image={require(`../Assets/${courses[index].name}.png`)} className={media}/>
<CardContent>
<Typography gutterBottom className={cardTitle} variant="h5" component="h2">
{courses[index].name}
</Typography>
</CardContent>
</CardActionArea>
</Card>
</Grid>
);
})};
{/* Modal Element - I need to pass a reference here somehow*/}
<CourseDialog
open={open}
onClose={handleClose}
classes={classes}
/>
</Grid>
);
};
// This is the Modal function, in the same file as the above code. This is where I want to display the description when the modal is clicked.
const CourseDialog = (props) => {
const { classes, onClose, ...other } = props;
function handleClose() {
onClose();
};
return ( <div></div> )
Любая помощь очень ценится!