React 15.5带来重大修改
Facebook发布了React 15.5,给开发人员足够的时间来调整和适应版本16的重大变化。
Andrew Clark在一篇博文中公布了将在主程序包中弃用React.PropTypes
和React.createClass
两个特性。为了准备版本16,同时作为一种改善未来代码规模的方法,他们已经将这两个特性移到了它们自己的程序包中。
目前,如果开发人员在主程序包中使用了其中的任何一项特性,控制台就会给出警告信息。如果开发人员现在不修复它,那么在版本16中代码就会遭到破坏。
在React最初发布时,JavaScript没有提供一种地道的创建类的方法,因此,我们提供了一个:
React.createClass
后来,类作为ES2015的一部分添加到该语言,我们也就添加了使用JavaScript类创建React组件的能力。和功能组件一起,JavaScript类现在成为创建React组件的首选方式。
如果不选择使用JavaScript类对应用进行重新编码,那么开发人员还可以选择NPM上提供的create-react-class模块。这仍然需要修改代码,但可以避免使用JavaScript类。
对于大多数开发人员而言,删除propTypes
应该不会成为太大的损失。那些使用TypeScript编写React的开发人员,或者是那些在工具链中集成了Flow的开发人员,有更好的React项目类型检查方式。例如,TypeScript开发人员可以使用强类型定义props
:
interface MyProps { firstName: string, lastName: string }export default class MyComponent extends React.Component<MyProps, any> {}
以这种方式声明类,TypeScript开发人员就可以自动获得恰当的类型检查。已经没有必要使用propTypes
了。
版本15.5还是React addons的最新版本。其中有一部分已经被纳入到其他程序包,同时,createFragment
已经成为版本16的一部分,为内置Fragments提供支持。
查看英文原文:React 15.5 Prepares Developers For Big Changes
React 15.5带来重大修改相关推荐
- 记一次 react 15.3.1 老项目升级到 react 16.7.0 之路
互相交流学习,请加我微信: iyangyuanjian,QQ:624508914 1.前言 该项目是公司内部服务与外部服务的中台系统,我称之为大杂烩 项目始于:2015年10月8号 18:31:39秒 ...
- Magento教程 15:Magento 批次修改产品资料
当你拥有多笔商品资料需要修改的时候,一个一个进入产品编辑页面修改是非常花费时间的,Magento后台的产品列表中提供了批次修改的功能,减轻你在编辑大量商品资料的负担,今天要告诉大家如何在Magento ...
- react鼠标移入移出样式修改
解决react鼠标移入移出样式修改的问题. 效果截图: 代码实现: js代码: <div className={styles.listStyle}><MenuonClick={thi ...
- React Native之react-navigation动态修改标题、页面导航等
目录 1.navigation导航对象相关参数 1.1在当前Component获取navigation导航对象 1.2navigate方法 1.2.2使用示例 1.2.3源码 1.3params 1. ...
- Linux 安装Mysql8.0.15教程,以及修改密码
写这篇博客是为了记住我刚刚安装成功的MySQL8.0.15,之前在网上找了很多博客最终没能成功,然后去google上找了几篇最终装好了,装数据库之前我是重装了服务器系统的, 所以这个安装环境是很干净的 ...
- 如何关闭react的端口号_react修改端口号
React 如何修改端口号 打开react项目的 package. json文件将 scripts中的start键值对"start": "roadhog server"修改为"start": "set ...
- Fedora 从 15.0 开始将修改以太网卡命名规则
Fedora 的开发者 Matt Domsch 称,从 Fedora 15 开始,将不再使用常规的 ethX 的方式来命名以太网卡设备. 新的命名规则如下: em[1-N] 用于主板内置的网卡设备 p ...
- React Antd中样式的修改
如果需要对antd的样式进行修改, 进入你要修改的页面 注意:不能直接在自己的文件下面,加入一个css,修改这个class的样式,应该 加入global限定,global {} , 在{}里面写入 . ...
- 网络安全学习第15篇 - 游戏内存修改
请依据实验文档<游戏辅助的实现>中的内容,自行编写一个游戏内存数据修改程序,使其可以对某款游戏的某一项或某几项数值进行修改.有余力的同学可以任选一款游戏尝试修改. 实验报告的最后请简述,作 ...
最新文章
- 实现if_如何解决开发中 if...esle 代码过多的问题,强烈推荐!
- VMware vSphere学习整理
- 122. Leetcode 647. 回文子串 (动态规划-子序列问题)
- [转载]Google用户体验设计准则
- 团队项目开发编码规范之一:概述
- 开启进度比的文本为什么没有显示_没有开通智钻,为什么会显示流量是在智钻进店的呢?...
- Linux下DMA添加两个channel,基于Linux嵌入式系统的ISA总线DMA的实现
- 关于springboot集成redis及关于redis的Key 乱码问题
- Visual Studio 2010 Ultimate敏捷之道:特性解析
- 中input宽度_使用HOG对卫星图像中的船舶进行分类
- Atitit 分布式之道 之常见的分布式技术 1. 第十二章基于对象的分布式系统	1 1.1. Corba dcom	2 2. 第11章 分布式文件系统 -	2 2.1. 常见的分布式文件系统有,G
- Ubuntu18.04设置自动连接WIFI
- 科技爱好者周刊(第 216 期):极简主义的胜利
- 图形验证码空白如何处理
- React 调用手机,电脑摄像头扫描识别二维码
- 零售信贷产品的8大业务流程
- 鸿蒙适配机型小米,科技晚报|华为鸿蒙适配机型公布 P50首发/小米10S才是真正至尊版...
- elo算法c语言,王者荣耀Elo机制?你中招了吗?
- 算法分析与设计第十四次作业(leetcode中Cherry Pickup题解)
- 新茶饮第一股,为什么奈雪的茶更受消费者青睐?
热门文章
- This Android SDK requires An... ADT to the late...
- Hugepages你用了吗?--原理概念篇
- Linux 卷管理详解[ pv vg lv] —— 之三
- 投影仪和电脑连接故障
- 《父亲家书》选:母亲的手摔伤了
- 数据结构-线性表(栈与队列的特殊性)
- HDU - 6746 Civilization(贪心+模拟)
- HDU - 3247 Resource Archiver(AC自动机+状压dp+bfs)
- CodeForces - 617E XOR and Favorite Number(莫队)
- 大脚导入配置选择哪个文件_有史以来最全的 IntelliJ IDEA 配置图解