React新旧生命周期
在具有许多组件的应用程序,当组件被销毁所释放所占用的资源是非常重要的,当Clock组件第一次被渲染到DOM中的时候,就为其设置一个定时器,这在React中被称为“挂载(mount)”。同时,当DOM中Clock组件被删除的时候,应该清除定时器。这在React被称为“卸载(unmount)”。我们可以为class组件声明一些特殊的方法,当组件挂载或卸载就会去执行这些方法。
挂载:mount
卸载:unmount
标题
看一段代码
class Count extends React.Component{
//构造器
constructor(props){
console.log('Count---constructor');
super(props)
//初始化状态
this.state = {
count:0}
}
//加1按钮的回调
add = ()=>{
//获取原状态
const {
count} = this.state
//更新状态
this.setState({
count:count+1})
}
//卸载组件按钮的回调
death = ()=>{
ReactDOM.unmountComponentAtNode(document.getElementById('test'))
}
//强制更新按钮的回调
force = ()=>{
this.forceUpdate()
}
//组件将要挂载的钩子
componentWillMount(){
console.log('Count---componentWillMount');
}
//组件挂载完毕的钩子
componentDidMount(){
console.log('Count---componentDidMount');
}
//组件将要卸载的钩子
componentWillUnmount(){
console.log('Count---componentWillUnmount');
}
//控制组件更新的“阀门”
shouldComponentUpdate(){
console.log('Count---shouldComponentUpdate'