zent
Version:
一套前端设计语言和基于React的实现
22 lines (16 loc) • 528 B
JavaScript
import React, { Component, PureComponent } from 'react';
import PropTypes from 'prop-types';
import Portal from './Portal';
// visible的逻辑放在Portal里实现会比较烦,因为没法利用React的update机制。
export default class ClosablePortal extends (PureComponent || Component) {
static propTypes = {
visible: PropTypes.bool
};
static defaultProps = {
visible: true
};
render() {
const { visible, ...portalProps } = this.props;
return visible && <Portal {...portalProps} />;
}
}