The Problem

Warning: componentWillMount has been renamed, and is not recommended
for use

  1. Initializing state 初始化状态

// Before

class AppComponent extends React.Component {state = {};componentWillMount() {this.setState({selected: this.props.selected,color: "red"});}
}
  1. 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相关推荐

  1. react生命周期的基本用法

    转载于:https://www.jianshu.com/p/c9bc994933d5 首先,看一下一个组件的构造 import React,{ Component } from 'react';cla ...

  2. 1.3 nuclei sdk Makefile分析

    nuclei sdk Makefile分析 Make 命令 1. 根目录Makefile 2. 源码选择application/baremetal/helloworld Makefile如下 3. 分 ...

  3. cadence SPB17.4 capture and cis 全部错误消息列表

    前言 在整理层次原理图,中间遇到好多编译警告和错误. 刚将封装之外的错误和警告都消掉了. 再想,官方对于错误消息有没有一个汇总和解释呢? 在本地帮助文件中找到了, capture的所有错误消息说明文件 ...

  4. linux top cpu 软中断,linux诊断CPU软中断问题

    在XEN虚拟机上的Nginx服务器存在一个问题:软中断过高,而且大部分都集中在同一个CPU,一旦系统繁忙,此CPU就会成为木桶的短板. 在问题服务器上运行「top」命令可以很明显看到「si」存在异样, ...

  5. Ubuntu下添加新分区并设置挂载点

    Ubuntu下添加新分区并设置挂载点 最近在做Android项目,可是解压根文件系统以后,就报警说硬盘不够.当初设置使用的大小为15G.不过扩展分区还是很方便的.当然首先你得设置添加使用的硬盘大小,这 ...

  6. VMware ESXi 中的 CentOS 硬盘扩容

    1. 在 vSphere Client 上直接扩大虚拟机的硬盘空间或者挂载一块新硬盘. 2. 查看当前硬盘空间情况: [root@ucslab admin]# df -h 文件系统           ...

  7. linux多路径策略配置,linux 多路径配置

    首先介绍一下什么是多路径(multi-path)?先说说多路径功能产生的背景,在多路径功能出现之前,主机上的硬盘是直接挂接到一个总线(PCI)上,路径是一对一的关系,也就是一条路径指向一个硬盘或是存储 ...

  8. linux挂载到哪个分区,Linux中直接挂载硬盘和挂载分区有什么区别?

     1.问题 Linux中直接挂载硬盘和挂载分区有什么区别? 比如 /dev/sdb 的硬盘,直接mkfs.ext4 /dev/sdb 后mount 使用, 和 先fdisk 分区 ,在 mkfs ...

  9. 在linux挂载网络驱动器,利用centos 6.6 搭建iscsi服务器并在centos挂载iscsi网络驱动器...

    ################################################################## 搭建iscsi服务器: 参考自:http://www.linuxi ...

最新文章

  1. 2014.11 总结
  2. Request_获取请求行数据_方法介绍
  3. HashMap源代码深入剖析
  4. XMLHttpRequest、fetch的ajax请求
  5. linux nohup命令
  6. 设置堆内存大小_jmap和jhat命令行工具的配合使用,更好的掌握堆内存状况
  7. 2013-10-10
  8. aaa dot1x (cisco)
  9. python—try-expect-else-finally的使用
  10. Spring Cloud Alibaba Seata工作原理
  11. 华为交换机镜像端口配置
  12. 计算机科学导论填空题,计算机科学导论习题
  13. 好看的UI个人主页源码
  14. coreELEC ceemmc 写入 cm311-1a 刷机排坑 Armbian 搞机篇
  15. 百度螺旋桨PaddleHelix论道“AI+生物计算”,加速推进多维价值释放
  16. 易语言高级表格如何右击选择当前项,再弹出右击菜单?
  17. 三级等保 服务器设置密码策略 centos
  18. echarts去除x轴和y轴上的刻度值_Echarts实现隐藏x轴,y轴,刻度线,网格
  19. 金蝶——“免、抵、退”税操作说明及帐务处理
  20. 电商平台后台管理系统--->系统详细设计(订单管理模块)

热门文章

  1. 隐藏Spring Elements
  2. java腾讯滤镜接口_文档中心
  3. a类计算机机房建设标准,A类机房建设标准和B类机房建设标准有什么差别
  4. 使用opencv打开笔记本摄像头
  5. java freemarker 导出富文本到Word文档
  6. 关于CSS中left:50%; top:50%; margin-left: -150px; margin-top: -75px;
  7. Linq(1.延迟的查询执行)
  8. XMLHTTP小偷程序原理
  9. surf和sift算法被申请专利后部分opencv版本无法使用后的安装pycharm+opencv使用surf和sift算法教程
  10. 轻松bypass360网站卫士WAFSQL注入防护