class Demo extends React.Component { constructor(props) { super(props); this.state = {x:10}; console.log(1); } componentDidMount() { console.log(4,this.state.x); this.setState({x:30}); } shouldComponentUpdate() { console.log(5); return true; } getSnapshotBeforeUpdate(prevProps, prevState){ console.log(6,prevState.x,this.state.x); return 999; } componentDidUpdate(prevProps, prevState, snapshot) { console.log(7,snapshot); } componentWillUnmount() { console.log(8); } static getDerivedStateFromProps(props, state){ // always called before render() console.log(2,state.x); return {x:20}; // the new state to be updated } render() { console.log(3); return null; }}ReactDOM.render( , document.querySelector('div'));ReactDOM.unmountComponentAtNode(document.querySelector('div'));