const React = global.React;
const ReactDOM = global.ReactDOM;
class Counter extends React.unstable_AsyncComponent {
state = {counter: 0};
onCommit() {
setImmediate(() => {
this.setState(state => ({
counter: state.counter + 1,
}));
});
}
componentDidMount() {
this.onCommit();
}
componentDidUpdate() {
this.onCommit();
}
render() {
return
{this.state.counter}
;
}
}
const interval = 200;
function block() {
const endTime = performance.now() + interval;
while (performance.now() < endTime) {}
}
setInterval(block, interval);
// Should render a counter that increments approximately every second (the
// expiration time of a low priority update).
ReactDOM.render(, document.getElementById('root'));
block();