Async componentDidMount
HTML
<script src="https://unpkg.com/react@15/dist/react.js"></script>
<script src="https://unpkg.com/react-dom@15/dist/react-dom.js"></script>
<div id="app"></div>
Babel + JSX
class App extends React.Component {
constructor(props, context) {
super(props, context)
this.state = { counter: 0 }
}
async componentDidMount() {
await new Promise(resolve => setInterval(resolve, 1000))
this.setState({ counter: this.state.counter + 1 })
}
render() {
return <h1>Hello World! {this.state.counter}</h1>
}
}
ReactDOM.render(<App />, document.getElementById('app'))