0
私は単純なモーダルといくつかのツールチップを開発しています。私はポータルについて少し理解したかったので、ポータルを作ってみることにしました。ReactJSポータルの作成
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);
}
});
私はこのコードを実行すると、私はコンソールで次のエラーを取得する:
Uncaught Error: _registerComponent(...): Target container is not a DOM element.
私の理解では、それが体内でこれをマウントする要素を見つけることができないということです私は、次のコードを持っています。私はindex.htmlに追加しようとしましたが、まだ解決していません。
ありがとうございます。
チェックこのhttp://stackoverflow.com/questions/28802179/how-to-create-a-react-modalwhich-is -append-to-body-with-transitions –
@GinoLlerena素早く反応してくれてありがとう。私はそのチュートリアルに従った - 私はどのように上記のコードを得た。 –