react生命周期(旧)

1. 初始化阶段: 由ReactDOM.render()触发---初次渲染

                  1.  constructor()

                  2.  componentWillMount()

                  3.  render()

                  4.  componentDidMount() =====> 常用一般在这个钩子中做一些初始化的事,例如:开启定时器、发送网络请求、订阅消息

对应于下面红色框的路线


 

 2. 更新阶段: 由组件内部this.setSate()或父组件render触发

                  1.  shouldComponentUpdate()----这个函数会返回true或者false代表能不能更新

                  2.  componentWillUpdate()

                  3.  render() =====> 必须使用的一个

                  4.  componentDidUpdate()

 相当于走的下面红色箭头的这条线

 3.更新阶段:由强制更新触发

有时候没有改变状态,需要强制让组件更新

                  1.  componentWillUpdate()

                  2.  render() =====> 必须使用的一个

                  3.  componentDidUpdate()

 走的是下面红色箭头的路

如果把shouldComponentUpdate()返回false会阻止setState更新但是不能阻止强制更新

4.卸载组件: 由ReactDOM.unmountComponentAtNode()触发

                1.  componentWillUnmount()  =====> 常用在这个钩子中做一些收尾的事,例如:关闭定时器、取消订阅消息

如果想卸载项目,

得调ReactDOM.unmountComponentAtNode(document.getElementById('test'))方法,传入要卸载dom的节点,比如下面的例子卸载的是id为test节点上的dom

5.父子组件更新:父组件传props给子组件,父组件更新props

                  1.componentWillReceiveProps()------组件将要接收新的props的钩子

                  2.  shouldComponentUpdate()----这个函数会返回true或者false代表能不能更新

                  3.  componentWillUpdate()

                  4.  render() =====> 必须使用的一个

                  5.  componentDidUpdate()

相当于走的下面红色框的路线

参考链接: 尚硅谷2021版React技术全家桶全套完整版(零基础入门到精通/男神天禹老师亲授)_哔哩哔哩_bilibili

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值