import React from 'react'; export default class ProgressBar extends React.PureComponent { state = { width: '' } render() { return
{this.props.text} ({this.props.progress||0}%)
{this.props.text} ({this.props.progress||0}%)
} componentDidUpdate(prevProps, prevState) { if (!prevState.width) { setTimeout(this.onResize, 50); } } onResize = () => { this.setState({ width: this.refs.pbar.offsetWidth }); } componentDidMount() { window.addEventListener('resize', this.onResize); this.onResize(); } componentWillUnmount() { window.removeEventListener('resize', this.onResize); } }