Attribut Ich habe eine einfache modale:React Modal ref Nicht definiert! Kann benutzerdefinierte Add
renderModalForm() {
return (
<Modal
closeTimeoutMS={150}
show={this.state.isModalOpen}
onHide={this.isModalOpen.bind(this)}
>
<Modal.Body>
<div className="close-button-modal">
<i className="fa fa-times fa-2x pull-right" onClick={this.onButtonClick.bind(this)}></i>
<div className="clearfix"></div>
</div>
<div ref="test" className="testclassname">
</div>
</Modal.Body>
</Modal>
);
}
Mein einziges Ziel ist es, ein benutzerdefiniertes Attribut (die leider mit Daten- oder aria- kann nicht gestartet werden, da sie von Dritten definiert ist) zu injizieren, um die div
verwiesen von ref="test"
Wenn ich das benutzerdefinierte Attribut zu injizieren versuchen:
someButtonClicked() {
setTimeout(() => {
this.setState({
isModalOpen: true
})
}, 100);
var element = ReactDOM.findDOMNode(this.refs.test);
element.setAttribute('doku-div', 'form-payment');
}
Hier Element ist immer undefiniert, so setAttribute
gescheitert; Wenn ich das Element überprüfe, existiert ref="test"
nicht am <div>
! Kann mir jemand helfen, warum dieser Hinweis im Modal fehlt?
so die setState die modale zu öffnen ist eigentlich auch innerhalb einer buttonClickHandler-Methode aufgerufen. Also kann ich es nicht innerhalb von componentDidMount – user1955934