react 16.3+ 新生命周期 作业
1、有哪些⽣命周期被舍弃(3个),哪些⽣命 周期是新增(2个)?
componentWillMount()、componentWillReceiveProps()、componentWillUpdate()被舍弃,static getDerivedStateFromProps()和getSnapshotBeforeUpdate()是新增
2、这些⽣命周期被舍弃或新增的原因?以及 新增⽣命周期的参数和作⽤?
(1)这些旧的生命周期常常被误解以及滥用
(2)在Fiber架构下这些旧的生命周期可能会执行多次,表现就变得不可预期
3、react⼏个版本(1.6.3、1.6.4、1.7.0)对⽣ 命周期的相关处理和规划?
16.3版本:旧的生命周期方法名、别名、新的生命周期方法名有效
16.4版本:旧的生命周期方法名、别名、新的生命周期方法名有效,但旧的生命周期方法名在开发模式下会有警告提示
17.0版本:只有别名和新的生命周期方法名有效
4、为什么要把getDerivedStateFromProps设计为静态⽅法?
因为隔离组件实例访问,所以也就不能用this.setState()等一些方法,保持该方法的纯粹,它就是用来定义派生state的,除此之外不能进行任何操作
5、getDerivedStateFromProps被触发执⾏的条件有哪些?
初始挂载、prop更新、通过setState更新
6、Derived state的定义是?(如何理解derived state?)
派生state,derived state是在静态方法getDerivedStateFromProps里根据props按需更新的state
7、在1.6.3中,setState()不会引起 getDerivedFromProps的执⾏,⽽1.6.4.会,原因是?
16.4版本进行了纠正,确保了与React即将推出的异步呈现模式的兼容性
8、1.6.2及其以前升级到1.6.4的⽅案是?
可以依旧使用旧的生命周期方法名,也可以使用新的生命周期方法名,但两者不能同时使用
9、1.6.x升级到1.7的⽅案是?
只能使用新的生命周期方法名
react 16.3+ 新生命周期 作业的更多相关文章
- react 16.3+ 新生命周期
react 16.3版本出现了两个新的生命周期函数,并将逐渐废弃componentWillMount().componentWillReceiveProps().componentWillUpdate ...
- 《React Native 精解与实战》书籍连载「React Native 中的生命周期」
此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...
- react实战 系列 —— React 的数据流和生命周期
其他章节请看: react实战 系列 数据流和生命周期 如何处理 React 中的数据,组件之间如何通信,数据在 React 中如何流动? 常用的 React 生命周期方法以及开源项目 spug 中使 ...
- reactjs入门到实战(七)---- React的组件的生命周期
React的组件的生命周期有三个状态分别是:挂载(生产组件示例化.准备挂载到页面.挂载到页面).更新(更新值.更新DOM).和卸载(卸载后). >>>其他 getInitia ...
- react native组件的生命周期
react native组件的生命周期 一.当页面第一次加载时,会依次调用: constructor() componentWillMount(): 这个函数调用时机是在组件创建,并初始化了状态之后, ...
- Android React Native组件的生命周期及回调函数
熟悉android的童鞋应该都清楚,android是有生命周期的,其很多组件也是有生命周期.今天小编和大家分享的React Native组件的生命周期,还不了解的童鞋,赶紧来围观吧 在android开 ...
- React Native 中 component 生命周期
React Native 中 component 生命周期 转自 csdn 子墨博客 http://blog.csdn.net/ElinaVampire/article/details/518136 ...
- React 16.x 新特性思维导图
React 16版本相对于以前的版本做了很大的改动,下面是我整理的React 16.x 新特性的思维导图文件,欢迎围观和指导:
- 【RN - 基础】之React Native组件的生命周期
下图描述了React Native中组件的生命周期: 从上图中可以看到,React Native组件的生命周期可以分为初始化阶段.存在阶段和销毁阶段. 实例化阶段 实例化阶段是React Native ...
随机推荐
- C#编程--第三天
语句 语句是指程序命令,都是按照顺序执行的.语句在程序中的执行顺序称之为"控制流"或"执行流".根据程序对运行时所收到的输入的响应,在程序每次运行时程序流可能有 ...
- ftp服务的安装
ftp服务的安装 1.环境准备 2.安装服务 3.配置文件 3.1.匿名访问 把以下三个匿名上传写入开启 启动并查看服务状态: Linux客户端访问: Tips: 220表示服务正常,可以登陆:230 ...
- Linux 定时任务 Crontab 命令详解
linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另 外, 由于使用者自己也可以设置计划任务,所以, ...
- Map和List集合嵌套取值
遍历List的方法: List<User> list = new ArrayList();list = userMapper.getUserList();//从数据库取得list值for( ...
- package.json和package-lock.json的区别
参考:https://blog.csdn.net/c2311156c/article/details/80320046 package.json: 主要用来定义项目中需要依赖的包 package-lo ...
- 虚拟机设置静态IP地址
前言 NAT连接方式只能配置一次,配置好子网掩码和网关IP后,虚拟机NAT连接的ip段都是同一个ip段 1.菜单栏选择 编辑 -> 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Vmnet8 N ...
- java23种设计模式(一)-- 工厂模式、抽象工厂模式和单例模式
一.工厂模式 1.定义统一的接口,并在接口中定义要实现的抽象方法. 2.创建接口的具体实现类,并实现抽象方法. 3.创建一个工厂类,根据传递的参数,生成具体的实现类对象,执行具体的方法. 优点: 1. ...
- tomcat manager 禁止外网访问 只容许内网访问
参考:http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html A default Tomcat installation includes ...
- Python3.5-20190504-廖老师的2-if elif else continue break
条件判断: if 条件1: 代码块 elif 条件2: 代码块 else 条件3: 代码块 brith = input("请输入出身年月:") if brith > 200 ...
- MySQL 8.0.12安装教程 (windows 64位)
先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子,(解压后并没有Data目录,要手动创建,Data目录是自己创建的设置mysql数据库的数据的存放目录,解压后的目录也没有的my. ...