UNPKG

zent

Version:

一套前端设计语言和基于React的实现

29 lines (23 loc) 709 B
import PropTypes from 'prop-types'; import { Component, PureComponent } from 'react'; export default class WindowEventHandler extends (PureComponent || Component) { static propTypes = { eventName: PropTypes.string.isRequired, callback: PropTypes.func.isRequired, useCapture: PropTypes.bool }; static defaultProps = { useCapture: false }; componentDidMount() { const { eventName, callback, useCapture } = this.props; window.addEventListener(eventName, callback, useCapture); } componentWillUnmount() { const { eventName, callback, useCapture } = this.props; window.removeEventListener(eventName, callback, useCapture); } render() { return null; } }