生命週期的理解this
class App extends Component{ constructor(){//1 console.log("constructor") //初始化屬於組件的屬性 super(); this.state = { num:1 } } changehandler(e){ this.state.num = e.target.value this.setState({ num:e.target.value }); } componentWillMount(){//2 //不推薦在此處渲染數據,可能會阻塞 console.log("componentWillMount") } componentDidMount(){//4 console.log("componentDidMount") } shouldComponentUpdate(){//1 問該不應更新return true;則就是1 console.log("shouldComponentUpdate") } componentWillUpdate(){//2 問shouldComponentUpdate該不應更新return true;則就是2(更新以前) console.log("componentWillUpdate") } componentDidUpdate(){//4問shouldComponentUpdate該不應更新return true;則就是4(更新以後) //數據改變的時候 console.log("componentDidUpdate") } render(){//3 問shouldComponentUpdate該不應更新return true;則就是3 return( <div> {this.state.num} <hr></hr> <input type='text' value={this.state.num} onChange={(e)=>{this.changehandler(e)}}></input> </div> ) } } export default App;
第一種
constructor,
componentWillMount
render
componentDidMount
第二種(有數據更新時)
shouldComponentUpdate
componentWillUpdate
render
componentDidUpdate以上是經常使用的生命週期執行順序