Вы можете установить модальное свойство в родительском состоянии, чтобы управлять отображением модального окна, и передать ему функцию закрытия в качестве реквизита, которая устанавливает это состояние в false из модального, когда вы хотите переключить его.
toggleModal() {
this.setState({
modal: !this.state.modal
})
}
<Modal show={this.state.modal} close={this.state.toggleModal} />
Соответствующие части модальных:
onClose(e) {
this.props.close && this.props.close(e);
}
render() {
if (!this.props.show) {
return null;
}
return (
<div
className="custom-modal"
id="modal"
>
<div className="modal-content">
<div className="modal-close" onClick={this.onClose}>
X
</div>
{this.props.children}
</div>
</div>
);
}