Warning: componentWillMount has been renamed, and is not recommended for use
The Problem
Warning: componentWillMount has been renamed, and is not recommended
for use
- Initializing state 初始化状态
// Before
class AppComponent extends React.Component {state = {};componentWillMount() {this.setState({selected: this.props.selected,color: "red"});}
}
- Fetching external data 提取外部数据
// Before
class AppComponent extends React.Component {state = {data: null,};componentWillMount() {fetch("https://sentry.io/data").then(res => {this.setState({data: res.json()});});}
}
The Solution
从React版本16.3开始,以下组件生命周期方法正在逐步淘汰。
- componentWillMount
- componentWillReceiveProps
- componentWillUpdate
如果要使用这些方法,请在方法前面加上UNSAFE_。 这些方法被认为是“不安全的”,因为React团队期望依赖于这些方法的代码更有可能在React的未来版本中出现错误。
根据代码的目标,您可以完全将componentWillMount与其他生命周期方法一起使用。
解决方案是将状态初始化移至构造函数或属性初始化器,如下所示:
// After
class AppComponent extends React.Component {state = {selected: this.props.selected,color: "red"};
}
解决方案是将数据获取移到componentDidMount中:
// Afterclass AppComponent extends React.Component {state = {data: null,};componentDidMount() {fetch("https://sentry.io/data").then(res => {this.setState({data: res.json()});});}}
Warning: componentWillMount has been renamed, and is not recommended for use相关推荐
- react生命周期的基本用法
转载于:https://www.jianshu.com/p/c9bc994933d5 首先,看一下一个组件的构造 import React,{ Component } from 'react';cla ...
- 1.3 nuclei sdk Makefile分析
nuclei sdk Makefile分析 Make 命令 1. 根目录Makefile 2. 源码选择application/baremetal/helloworld Makefile如下 3. 分 ...
- cadence SPB17.4 capture and cis 全部错误消息列表
前言 在整理层次原理图,中间遇到好多编译警告和错误. 刚将封装之外的错误和警告都消掉了. 再想,官方对于错误消息有没有一个汇总和解释呢? 在本地帮助文件中找到了, capture的所有错误消息说明文件 ...
- linux top cpu 软中断,linux诊断CPU软中断问题
在XEN虚拟机上的Nginx服务器存在一个问题:软中断过高,而且大部分都集中在同一个CPU,一旦系统繁忙,此CPU就会成为木桶的短板. 在问题服务器上运行「top」命令可以很明显看到「si」存在异样, ...
- Ubuntu下添加新分区并设置挂载点
Ubuntu下添加新分区并设置挂载点 最近在做Android项目,可是解压根文件系统以后,就报警说硬盘不够.当初设置使用的大小为15G.不过扩展分区还是很方便的.当然首先你得设置添加使用的硬盘大小,这 ...
- VMware ESXi 中的 CentOS 硬盘扩容
1. 在 vSphere Client 上直接扩大虚拟机的硬盘空间或者挂载一块新硬盘. 2. 查看当前硬盘空间情况: [root@ucslab admin]# df -h 文件系统 ...
- linux多路径策略配置,linux 多路径配置
首先介绍一下什么是多路径(multi-path)?先说说多路径功能产生的背景,在多路径功能出现之前,主机上的硬盘是直接挂接到一个总线(PCI)上,路径是一对一的关系,也就是一条路径指向一个硬盘或是存储 ...
- linux挂载到哪个分区,Linux中直接挂载硬盘和挂载分区有什么区别?
1.问题 Linux中直接挂载硬盘和挂载分区有什么区别? 比如 /dev/sdb 的硬盘,直接mkfs.ext4 /dev/sdb 后mount 使用, 和 先fdisk 分区 ,在 mkfs ...
- 在linux挂载网络驱动器,利用centos 6.6 搭建iscsi服务器并在centos挂载iscsi网络驱动器...
################################################################## 搭建iscsi服务器: 参考自:http://www.linuxi ...
最新文章
- 2014.11 总结
- Request_获取请求行数据_方法介绍
- HashMap源代码深入剖析
- XMLHttpRequest、fetch的ajax请求
- linux nohup命令
- 设置堆内存大小_jmap和jhat命令行工具的配合使用,更好的掌握堆内存状况
- 2013-10-10
- aaa dot1x (cisco)
- python—try-expect-else-finally的使用
- Spring Cloud Alibaba Seata工作原理
- 华为交换机镜像端口配置
- 计算机科学导论填空题,计算机科学导论习题
- 好看的UI个人主页源码
- coreELEC ceemmc 写入 cm311-1a 刷机排坑 Armbian 搞机篇
- 百度螺旋桨PaddleHelix论道“AI+生物计算”,加速推进多维价值释放
- 易语言高级表格如何右击选择当前项,再弹出右击菜单?
- 三级等保 服务器设置密码策略 centos
- echarts去除x轴和y轴上的刻度值_Echarts实现隐藏x轴,y轴,刻度线,网格
- 金蝶——“免、抵、退”税操作说明及帐务处理
- 电商平台后台管理系统--->系统详细设计(订单管理模块)
热门文章
- 隐藏Spring Elements
- java腾讯滤镜接口_文档中心
- a类计算机机房建设标准,A类机房建设标准和B类机房建设标准有什么差别
- 使用opencv打开笔记本摄像头
- java freemarker 导出富文本到Word文档
- 关于CSS中left:50%; top:50%; margin-left: -150px; margin-top: -75px;
- Linq(1.延迟的查询执行)
- XMLHTTP小偷程序原理
- surf和sift算法被申请专利后部分opencv版本无法使用后的安装pycharm+opencv使用surf和sift算法教程
- 轻松bypass360网站卫士WAFSQL注入防护