Вместо дублирования состояния open
в компоненте VehicleDialog
вы можете использовать предоставленные ему реквизиты open
и onClose
, чтобы закрыть модал.
Пример
class VehicleDialog extends Component {
render() {
const { open, id, onClose } = this.props;
return (
<React.Fragment>
<Dialog aria-labelledby="customized-dialog-title" open={open}>
<DialogTitle id="customized-dialog-title">Modal title</DialogTitle>
<DialogContent>
<Typography gutterBottom>
Cras mattis consectetur purus sit amet fermentum. Cras justo odio,
dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta
ac consectetur ac, vestibulum at eros.
</Typography>
<Typography gutterBottom>
Praesent commodo cursus magna, vel scelerisque nisl consectetur
et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor
auctor.
</Typography>
<Typography gutterBottom>
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo
cursus magna, vel scelerisque nisl consectetur et. Donec sed odio
dui. Donec ullamcorper nulla non metus auctor fringilla.
</Typography>
</DialogContent>
<DialogActions>
<Button color="primary" onClick={() => onClose(id)}>
Close
</Button>
</DialogActions>
</Dialog>
</React.Fragment>
);
}
}