ciao!
allora, ho modificato la classe come mi hai suggerito te:
poi dall'altro componente richiamo questa funzione:codice:class DialogBook extends React.Component { constructor(props) { super(props); this.state = { open: false } } componentDidMount() { this.setState({open: this.props.open}) } componentDidUpdate(prevProps) { if (prevProps.open !== this.props.open) { this.setState({open: this.props.open}) } } render() { return ( <div> <Dialog open={this.state.open} aria-labelledby="form-dialog-title"> <DialogTitle id="form-dialog-title">Subscribe</DialogTitle> <DialogContent> <DialogContentText> Aggiungi </DialogContentText> <TextField autoFocus margin="dense" id="name" label="Email Address" type="email" fullWidth /> </DialogContent> <DialogActions> <Button color="primary"> Cancel </Button> <Button color="primary"> Subscribe </Button> </DialogActions> </Dialog> </div> ) }; } export default DialogBook;
in sostanza vedo il console.log, ma il dialog cmq non appare!codice:function showDialog() { console.log('ok'); return ( <DialogBook open={true}/> ) }

Rispondi quotando