React LifeCycle API
2024-10-10 10:01:51
React LifeCycle API
old API & new API 不可以混用
demo
https://codesandbox.io/s/react-parent-child-lifecycle-order-33qrr?file=/src/components/child.js
import React, { Component } from "react";
import log from "../utils/log";
class Child extends Component {
constructor() {
super();
this.state = {};
}
// new API
getDerivedStateFromProps() {
log(`child getDerivedStateFromProps`, 11);
}
getSnapshotBeforeUpdate() {
log(`child getSnapshotBeforeUpdate`, 22);
}
// old API
componentWillMount() {
log(`child WillMount`, 1);
}
componentDidMount() {
log(`child DidMount`, 2);
}
componentWillReceiveProps() {
log(`child WillReceiveProps`, 3);
}
shouldComponentUpdate() {
log(`child shouldComponentUpdate`, 4);
return true;
// return true or false;
}
componentWillUpdate() {
log(`child WillUpdate`, 5);
}
componentDidUpdate() {
log(`child DidUpdate`, 6);
}
componentWillUnmount() {
log(`child WillUnmount`, 7);
}
componentDidCatch(err) {
log(`child DidCatch`, err);
}
render() {
log(`child render`);
return (
<div className="child">
<h1>child-lifecycle-order</h1>
</div>
);
}
}
export default Child;
react-lifecycle-methods-diagram
https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/
new API
old API
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
最新文章
- linux下php-mysql拓展安装
- Java关键字——transient
- Codeforces Round #304 C(Div. 2)(模拟)
- iOS 上拉刷新和下拉加在更多(第三方框架EGOTableViewPullRefresh)
- ios UI实现技巧
- Using NuGet without committing packages to source control(在没有把包包提交到代码管理器的情况下使用NuGet进行还原 )
- 如何设置SecureCRT通过代理连接SSH[转]
- 返回ListBox选中的多项目
- XML转义特殊字符
- OCP-1Z0-053-V13.02-712新题
- hdu_3562_B-number(记忆化搜索|数位DP)
- JAVA入门[17]-ControllerAdvice处理exception
- js万亿级数字转汉字的封装方法
- 别人的Linux私房菜(16)计划任务
- 用VerilogHDL设计一个与门逻辑,并进行前仿和后仿
- python之装饰器(函数)
- windows版本下ELK配置
- 1043 输出PATest
- Hopewell Project Sharing项目总结分享PPT
- fatal error LNK1104: 无法打开文件“libc.lib”的问题
热门文章
- .params和query的区别
- XCTF-easydex
- SpringBoot-文件系统-Excel,PDF,XML,CSV
- Java 集合框架()
- Java中运行javascript代码
- postfix “ Sender address rejected: not logged in”
- 天融信Top-app LB负载均衡SQL注入0day
- centos6.5 更新python2.6.6至2.7.6
- Linux数据库的导入导出
- SQL系列总结——基础篇(三)