react生命周期函数

react中各函数执行顺序(旧版本)
在这里插入图片描述

//挂载时
constructor
componentWillMount
render
componentDidMount
componentWillUnmount

//卸载组件
UnmountComponentAtNode(document.getElementById("xx"))

//更新时 执行setState时或父组件render触发
//开关生命周期,true向下执行,false不继续执行
shouldComponentUpdate(){return true/false}
componentWillUpdate
render
componentDidUpdate

//强制更新,不改变state也能更新,不经过shouldComponentUpdate
this.forceUpdate()
componentWillUpdate
render
componentDidUpdate

//组件将要接收新的props(props更新时才触发,第一次渲染不触发)
componentWillReceiveProps

//新版本三个钩子函数加UNSAFE_
UNSAFE_componentWillmount
UNSAFE_componentWillUpdate
UNSAFE_componentWillReceiveProps

react中各函数执行顺序(新版本)在这里插入图片描述

//若state的值在任何情况下都取决于props,那么可以使用getDerivedStateFromProps
static getDerivedStateFromProps(props,state){
	return props
}
//在更新之前获取快照
getSnapshotBeforeUpdate(){
	return xxx
}
//在getSnapshotBeforeUpdate和componentDidUpdate中间更新DOM和refs
componentDidUpdate(prevProps,prevState,snapShot){
	//snapShot是getSnapshotBeforeUpdate的返回值
	xx.scrollTop += xx.scrollHeight-snapShot
}
//案例,新闻上滑、邮箱来新邮件、直播右边栏弹幕锁屏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值