进击的 react Protals组件使用

作者: 一只大橘 | 来源:发表于2019-08-07 15:50 被阅读1次

Portals是什么?用来干啥?。
翻译过来 就是“传送门”,是React 16版本中新加的组件功能。
使用场景:
当父组件有overflow,z-index样式的时候,但是你需要子组件在视觉上能够跳出容器,
也就是说能显示出来。比如对话框,提示框等。

下面这个例子可以直接在项目中使用

import React from 'react';
import ReactDOM from 'react-dom';
import PropTypes from 'prop-types';

function createPortal() {
  class Portal extends React.Component {
    constructor(props) {
      super(props);
      this.el = document.createElement('div');
      document.body.appendChild(this.el);
    }
    componentDidMount() {
      document.body.appendChild(this.el);
    }
    componentWillUnmount() {
      document.body.removeChild(this.el);
    }
    render() {
      return ReactDOM.createPortal(
        this.props.children,
        this.el,
      );
    }
  }
  Portal.propTypes = {
    children: PropTypes.any.isRequired,
  };
  return Portal;
}
export default createPortal();

相关文章

  • 进击的 react Protals组件使用

    Portals是什么?用来干啥?。翻译过来 就是“传送门”,是React 16版本中新加的组件功能。使用场景:当父...

  • react 高级特性整理

    这一篇会整理一些react常见的高级特性以及它们的应用场景: 函数组件 非受控组件 protals context...

  • 面试题

    React组件的渲染流程是什么? 使用 React.createElement或 JSX编写 React组件,实际...

  • React: 富文本

    项目使用的是React,所以用的react-quill组件 1、安装 2、导入组件 3、导入样式 4、使用组件 页...

  • 高阶组件

    React 高阶组件HOC (Higher-Order Component) 高阶组件是react中重复使用组件逻...

  • react-draft-wysiwyg富文本组件

    目录 react-draft-wysiwyg富文本组件 react-draft-wysiwyg富文本组件 组件使用...

  • React学习笔记_02

    React 组件和状态 react 组件 1,组件的两种创建方式1,函数组件2,类组件 1,函数组件:使用 JS ...

  • 工作笔记三

    react-native 使用图标字体: 使用react-native-elements组件(需要先安装react...

  • React Native - 01 - Hello World!

    React Native就像React,但它使用本地组件而不是Web组件作为构建块。因此,要理解React Nat...

  • 记录react相关一些功能使用(持续更新)

    React-redux connect功能:连接容器组件和展示组件使用 React Redux 库的 connec...

网友评论

    本文标题:进击的 react Protals组件使用

    本文链接:https://www.haomeiwen.com/subject/zsaodctx.html