web-dev-qa-db-ja.com

React 16でReactDOM.createPortal()を使用する方法?

React 16を使用していますが、ポータルが必要ですが、この機能に関するドキュメントを見つけることができません。

https://github.com/facebook/react/pull/10675

アドバイスをありがとう。

23
Slbox

ポータルは、コンポーネントのcreatePortalメソッド内でrenderメソッドを呼び出すことにより作成されます。

render() {
  return (
    <div>
      {ReactDOM.createPortal(this.renderPortal(), this.props.portalEl)}
    </div>
  )
}

renderPortalはポータル内に表示されるコンテンツを返す必要がありますが、portalElはコンテンツを受け取る外部DOM要素です。

最近、誰かがポータルに関する情報は React tests にあると思いました。

0
Marko