Ich entwickle ein einfaches Modal und einige Tooltips. Ich wollte ein wenig über Portale verstehen, also habe ich beschlossen, einen zu machen. Ich habe den folgenden Code:Erstellen eines ReactJS-Portals
const Portal = React.createClass({
render() { return null },
portalElement: null,
componentDidMount() {
let p = this.props.portalId && document.getElementById(this.props.portalId);
if(!p) {
let p = document.createElement('div');
p.id = this.props.portalId;
document.body.appendChild(p);
}
this.portalElement = p;
this.componentDidUpdate();
},
componentWillUnmount() {
document.body.removeChild(this.portalElement);
},
componentDidUpdate() {
render(<div {...this.props}>{this.props.children}</div>, this.portalElement);
}
});
Wenn ich diesen Code ausführen, bekomme ich die folgende Fehlermeldung in der Konsole:
Uncaught Error: _registerComponent(...): Target container is not a DOM element.
Mein Verständnis ist, dass es kein Element finden kann, wo dies montieren in Körper . Ich habe versucht, zu index.html hinzuzufügen, aber das hat es immer noch nicht gelöst.
Danke für die Hilfe.
prüfen diese http://stackoverflow.com/questions/28802179/how-to-create-a-react-modalwhich-is -append-to-body-with-transitions –
@GinoLlerena Danke für schnelle Antwort. Ich bin diesem Tutorial gefolgt - so habe ich den obigen Code bekommen. –