React v15.5.0更新说明 & v16.0.0更新预告
React今日发布了15.5.0版本,同时这也将是以15开头的最后一个版本,下一次发布,我们将迎来React 16.0.0
在15.5.0这一版本中,主要有以下两处改动:
独立React.PropTypes
在之前的版本之中,我们可以通过React.PropTypes这个API访问React内置的一些类型来检查props,在15.5.0版本中,这一API被独立成了一个新的包 prop-types
// 15.4 以前
import React from 'react';
class Component extends React.Component {
render() {
return <div>{this.props.text}</div>;
}
}
Component.propTypes = {
text: React.PropTypes.string.isRequired,
}
// 15.5 以后
import React from 'react';
import PropTypes from 'prop-types';
class Component extends React.Component {
render() {
return <div>{this.props.text}</div>;
}
}
Component.propTypes = {
text: PropTypes.string.isRequired,
};
即将废弃React.createClass
目前的版本中我们一共有三种声明组件的方式:
- React.createClass
- JavaScript Function
- ES6 Class
因为之前JS当中并没有类的概念,所以React在内部实现了一个createClass的方法,但现在ES6已经十分普及,对Class的支持已经比较完善,所以在之后的版本中,React会废弃createClass这一方法。
当然,如果使用ES6 Class来声明组件的话,之前的mixins就无法使用了,所以React还为createClass方法准备了一个独立的包 create-react-class
// 15.4 以前
var React = require('react');
var Component = React.createClass({
mixins: [MixinA],
render() {
return <Child />;
}
});
// 15.5 以后
var React = require('react');
var createReactClass = require('create-react-class');
var Component = createReactClass({
mixins: [MixinA],
render() {
return <Child />;
}
});
以上是两项最主要的改变,也是最影响我们已有代码库的改动。你仍然可以在15.5.0版本中使用这两个API,但是在控制台会看到输出的废弃警告,并且在接下来的16.0.0版本中,这两个API会被彻底移除。
不过同学们也不同担心,这次改动之后,将可以“无痛直升”16.0.0版本。
另外还有一些有关测试和附件的改动就不再赘述,想要了解的同学可以去阅读React今天发布的博客React v15.5.0
React 16
- ReactDOM将会正式启用Fiber算法,不过API并不会改变,所以使用体验,你可能只会感觉到React更快,渲染更流畅了。关于Fiber的详细介绍,可以看这一篇讨论如何理解 React Fiber 架构?
- React.createClass/PropTypes/React.createFactory/React.DOM.* 几个方法将会被移除分离到单独的包中。
其余的改动和开发计划可以在React 15.5 and 16 Umbrella · Issue #8854 · facebook/react查阅。
你也可以通过下面的命令提前体验react 16.0.0版本
npm install react@16.0.0-alpha.8
React 16 正式版本有望在今夏发布:
React v15.5.0更新说明 & v16.0.0更新预告的更多相关文章
- React Native (0.57)开发环境搭建(注意:Node不要随便更新到最新版,更新完后莫名其妙的问题一大堆)
搭建开发环境 一.安装依赖 必须安装的依赖有:Node.Watchman 和 React Native 命令行工具以及 Xcode. 1.首先安装 Homebrew 2.安装 Node, Watchm ...
- C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新)
历史版本C#作为微软2000年以后.NET平台开发的当家语言,发展至今具有17年的历史,语言本身具有丰富的特性,微软对其更新支持也十分支持.微软将C#提交给标准组织ECMA,C# 5.0目前是ECMA ...
- Fundebug前端JavaScript插件更新至1.2.0
摘要: Fundebug的前端JavaScript错误监控插件更新至1.2.0:支持监控WebSocket连接错误:修复了监控unhandledrejection错误的BUG,即未用catch处理的P ...
- React Native升级方法——升级到最新版本0.59
React Native最近有大动作,于2019年3月12日发布新版本0.59.主要有两点值得升级:支持React Hooks:升级了JavaScriptCore,使Android性能有大幅提升.据用 ...
- C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新) C#各版本新特性 C#版本和.NET版本以及VS版本的对应关系
C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新) 2017年08月06日 11:53:13 阅读数:6705 历史版本 C#作为微软2000年以后.NET平台开发的当家语言,发展至今具有1 ...
- Fundebug前端异常监控插件更新至 1.9.0,支持监控 HTTP 慢请求
摘要: 1.9.0新增 httpTimeout 配置选项,支持监控 HTTP 慢请求,同时修复了记录的 HTTP 响应时间偏小的 BUG. Fundebug提供专业的前端异常监控服务,可以第一时间捕获 ...
- chrome浏览器更新到chrome 29.0.1547.76 m,多出一些蛋疼的功能来。
更新到chrome 29.0.1547.76 m 的时候,莫名其妙多出一些蛋疼的功能来. 1.alert之类的弹出对话框样式变了,并且位置不是居中的,跑到了最上面去了,如下图. 要把这对话框改回原始状 ...
- Nessus更新到8.3.0
Nessus更新到8.3.0 更新内容包括: (1)专业版的报告功能更为灵活,允许用户选择包含的信息. (2)提升Nessus Manager的性能. (3)允许扫描模版多次更新. (4)生成报告时, ...
- .NET CORE 实践(3)--Visual Studio 2015 Update 3更新之后DotNetCore.1.0.1-VS2015Tools.Preview2.0.2.exe无法正确安装
打开 https://www.microsoft.com/net/core#windows,点击 https://go.microsoft.com/fwlink/?LinkId=691129下载vs2 ...
随机推荐
- ztree树的模糊搜索功能
在做机场项目的时候,业务为一个input框,点击的时候出现一个下拉树,这个下拉树是所有的设备,由于设备太多,加上分了区域,为了更好的用户体验,设计一个模糊搜索的功能,方便用户进行选择 具体实现过程如下 ...
- poj 3748 位操作
位操作 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8856 Accepted: 3535 Description 假 ...
- Sed - An Introduction and Tutorial by Bruce Barnett
http://www.grymoire.com/unix/sed.html Quick Links - NEW Sed Commands : label # comment {....} Block ...
- android 生成随机数
/** * 随机数.字母 工具类 * Created by admin on 2017/2/20. */ public class RandomUntil { /** * 生成 ...
- java 并发(五)---AbstractQueuedSynchronizer(5)
问题 : ArrayBlockQueue 和 LinkedBlockQueue 的区别 两者的实现又是怎么样的 应用场景 BlockingQueue 概述 blockingQueue 是个接口,从名字 ...
- IIS网站不能访问
摘要:IIS环境下,部署的网站在服务器上可以正常访问,客户端却不能访问. 原因:防火墙入站规则万维网服务没有开启.
- 一、linux下安装redis(单机)
1.下载redis,http://download.redis.io/releases/redis-3.2.7.tar.gz 2.linux我用的是centos6.5 3.把redis上传到cento ...
- ccf-201712-2 游戏
问题描述 有n个小朋友围成一圈玩游戏,小朋友从1至n编号,2号小朋友坐在1号小朋友的顺时针方向,3号小朋友坐在2号小朋友的顺时针方向,--,1号小朋友坐在n号小朋友的顺时针方向. 游戏开始,从1号小朋 ...
- img底部空白以及多余的空白文本节点解决方案
1:img底部有空白的问题 img的css属性display的默认值是inline,这样会导致img的vertical-align的默认值是 baseline; baseline又不是bottom,只 ...
- QQ 聊天机器人小薇 1.0.1 发布!
本次发布主要解决了消息丢失(Api返回码[1202])问题,并改进了改进了一些细节. 简介 XiaoV(小薇)是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动: 监听多个 Q ...