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 发布文章使用:只允许注册用户才可以访问!


最新文章

  1. linux下php-mysql拓展安装
  2. Java关键字——transient
  3. Codeforces Round #304 C(Div. 2)(模拟)
  4. iOS 上拉刷新和下拉加在更多(第三方框架EGOTableViewPullRefresh)
  5. ios UI实现技巧
  6. Using NuGet without committing packages to source control(在没有把包包提交到代码管理器的情况下使用NuGet进行还原 )
  7. 如何设置SecureCRT通过代理连接SSH[转]
  8. 返回ListBox选中的多项目
  9. XML转义特殊字符
  10. OCP-1Z0-053-V13.02-712新题
  11. hdu_3562_B-number(记忆化搜索|数位DP)
  12. JAVA入门[17]-ControllerAdvice处理exception
  13. js万亿级数字转汉字的封装方法
  14. 别人的Linux私房菜(16)计划任务
  15. 用VerilogHDL设计一个与门逻辑,并进行前仿和后仿
  16. python之装饰器(函数)
  17. windows版本下ELK配置
  18. 1043 输出PATest
  19. Hopewell Project Sharing项目总结分享PPT
  20. fatal error LNK1104: 无法打开文件“libc.lib”的问题

热门文章

  1. .params和query的区别
  2. XCTF-easydex
  3. SpringBoot-文件系统-Excel,PDF,XML,CSV
  4. Java 集合框架()
  5. Java中运行javascript代码
  6. postfix “ Sender address rejected: not logged in”
  7. 天融信Top-app LB负载均衡SQL注入0day
  8. centos6.5 更新python2.6.6至2.7.6
  9. Linux数据库的导入导出
  10. SQL系列总结——基础篇(三)