React组件生命周期流程与调用顺序及setState在生命周期中的使用注意事项

React组件在挂载到真实DOM之前会以JavaScript变量的形式经历一系列的生命周期,该变量跟真实DOM树形结构一样。最终渲染到到真实DOM上。

React组件分为有状态组件和无状态组件,无状态组件本质上就是一个函数,它没有this对象,没有state,没有生命周期等特性,不能使用ref引用。有状态组件即一个类,必须继承于React.Component,有状态组件拥有继承父类this对象,自己的state及生命周期,唯一必须调用的方法既render()方法并返回一段DOM。

有状态组件从挂在到卸载经历一下生命周期:

constructor() {
    super() // 必须在定义在内部state之前
}           // super指代父类实例,调用super继承父类的this对象

UNSAFE_componentWillMount(){}    //组件即将加载componentWillMount在16.3.0被弃用但目前前依然可用,以下UNSAFE_开头的均同理
render(){}                //组件被渲染
componentDidMount(){}     //组件已加载

UNSAFE_componentWillReceiveProps(nextProps){}            // 组件将要从父组件获得props
shouldComponentUpdate(nextProps, nextState){}     // 是否确认重新渲染组件
render() {}               // 重新渲染组件
UNSAFE_componentWillUpdate(){}   // 组件将要更新
componentDidUpdate(){}    // 组价被更新

componentWillUnmount(){}  // 组件将要卸载


上实

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值