const React = require("react"); const PropTypes = require("prop-types"); const addEvent = require("../utils/addEvent"); const removeEvent = require("../utils/removeEvent"); const resizeEvent = "resize"; class WindowSize extends React.Component { static propTypes = { onChange: PropTypes.func }; handleWindowResize = () => { if (this.props.onChange) this.props.onChange({ width: window.innerWidth, height: window.innerHeight }); }; componentDidMount() { addEvent(window, resizeEvent, this.handleWindowResize); } componentWillUnmount() { removeEvent(window, resizeEvent, this.handleWindowResize); } render() { return null; } } module.exports = WindowSize;