useState

2020-08-17  本文已影响0人  一土二月鸟
import React, {Component} from 'react';
import ReactDOM from 'react-dom';


class Test extends Component {

  state = {
    a: 0
  }
  
  componentDidMount(){
    this.setState({a : 1});
    this.setState({a : 2});
    console.log(this.state.a); // 0  异步代码导致
    this.setState(state => console.log(state.a)); // 2 适用于规则1 2

    setTimeout(() => {
      this.setState({a: 10}); // 同步代码为导致页面立即渲染
      console.log(this.state.a); // 10 
      this.setState({a: this.state.a + 1});  // 同步代码为导致页面立即渲染
      console.log(this.state.a); // 11
    }, 1000);
  }

  render(){
    console.log(999); // 一共会打印四次
    return <>1</>
  }
}

ReactDOM.render(<Test />, document.getElementById('root'));
上一篇 下一篇

猜你喜欢

热点阅读