• 组件默认是按照层级来进行嵌套渲染的,使用Portals可以让组件渲染到父组件以外
    • 使用: ```jsx import React from ‘react’ import ReactDOM from ‘react-dom’ import ‘./style.css’

    class App extends React.Component { constructor(props) { super(props) this.state = { } } render() { // // 正常渲染 // return

    // {this.props.children} {/ vue slot /} //

    1. // 使用 Portals 渲染到 body 上。
    2. // fixed 元素要放在 body 上,有更好的浏览器兼容性。
    3. return ReactDOM.createPortal(
    4. <div className="modal">{this.props.children}</div>,
    5. document.body // DOM 节点
    6. )
    7. }

    }

    export default App

    ```

    • 使用场景
      1. 父组件是个bfc,子组件想逃离bfc
      2. 父组件z-index值太小
      3. fixed需要放在body第一层级