Facebook发布了React 15.5,给开发人员足够的时间来调整和适应版本16的重大变化。

Andrew Clark在一篇博文中公布了将在主程序包中弃用React.PropTypesReact.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带来重大修改相关推荐

  1. 记一次 react 15.3.1 老项目升级到 react 16.7.0 之路

    互相交流学习,请加我微信: iyangyuanjian,QQ:624508914 1.前言 该项目是公司内部服务与外部服务的中台系统,我称之为大杂烩 项目始于:2015年10月8号 18:31:39秒 ...

  2. Magento教程 15:Magento 批次修改产品资料

    当你拥有多笔商品资料需要修改的时候,一个一个进入产品编辑页面修改是非常花费时间的,Magento后台的产品列表中提供了批次修改的功能,减轻你在编辑大量商品资料的负担,今天要告诉大家如何在Magento ...

  3. react鼠标移入移出样式修改

    解决react鼠标移入移出样式修改的问题. 效果截图: 代码实现: js代码: <div className={styles.listStyle}><MenuonClick={thi ...

  4. React Native之react-navigation动态修改标题、页面导航等

    目录 1.navigation导航对象相关参数 1.1在当前Component获取navigation导航对象 1.2navigate方法 1.2.2使用示例 1.2.3源码 1.3params 1. ...

  5. Linux 安装Mysql8.0.15教程,以及修改密码

    写这篇博客是为了记住我刚刚安装成功的MySQL8.0.15,之前在网上找了很多博客最终没能成功,然后去google上找了几篇最终装好了,装数据库之前我是重装了服务器系统的, 所以这个安装环境是很干净的 ...

  6. 如何关闭react的端口号_react修改端口号

    React 如何修改端口号 打开react项目的 package. json文件将 scripts中的start键值对"start": "roadhog server"修改为"start": "set ...

  7. Fedora 从 15.0 开始将修改以太网卡命名规则

    Fedora 的开发者 Matt Domsch 称,从 Fedora 15 开始,将不再使用常规的 ethX 的方式来命名以太网卡设备. 新的命名规则如下: em[1-N] 用于主板内置的网卡设备 p ...

  8. React Antd中样式的修改

    如果需要对antd的样式进行修改, 进入你要修改的页面 注意:不能直接在自己的文件下面,加入一个css,修改这个class的样式,应该 加入global限定,global {} , 在{}里面写入 . ...

  9. 网络安全学习第15篇 - 游戏内存修改

    请依据实验文档<游戏辅助的实现>中的内容,自行编写一个游戏内存数据修改程序,使其可以对某款游戏的某一项或某几项数值进行修改.有余力的同学可以任选一款游戏尝试修改. 实验报告的最后请简述,作 ...

最新文章

  1. 实现if_如何解决开发中 if...esle 代码过多的问题,强烈推荐!
  2. VMware vSphere学习整理
  3. 122. Leetcode 647. 回文子串 (动态规划-子序列问题)
  4. [转载]Google用户体验设计准则
  5. 团队项目开发编码规范之一:概述
  6. 开启进度比的文本为什么没有显示_没有开通智钻,为什么会显示流量是在智钻进店的呢?...
  7. Linux下DMA添加两个channel,基于Linux嵌入式系统的ISA总线DMA的实现
  8. 关于springboot集成redis及关于redis的Key 乱码问题
  9. Visual Studio 2010 Ultimate敏捷之道:特性解析
  10. 中input宽度_使用HOG对卫星图像中的船舶进行分类
  11. Atitit 分布式之道 之常见的分布式技术 1. 第十二章基于对象的分布式系统 1 1.1. Corba dcom 2 2. 第11章 分布式文件系统 - 2 2.1.  常见的分布式文件系统有,G
  12. Ubuntu18.04设置自动连接WIFI
  13. 科技爱好者周刊(第 216 期):极简主义的胜利
  14. 图形验证码空白如何处理
  15. React 调用手机,电脑摄像头扫描识别二维码
  16. 零售信贷产品的8大业务流程
  17. 鸿蒙适配机型小米,科技晚报|华为鸿蒙适配机型公布 P50首发/小米10S才是真正至尊版...
  18. elo算法c语言,王者荣耀Elo机制?你中招了吗?
  19. 算法分析与设计第十四次作业(leetcode中Cherry Pickup题解)
  20. 新茶饮第一股,为什么奈雪的茶更受消费者青睐?

热门文章

  1. This Android SDK requires An... ADT to the late...
  2. Hugepages你用了吗?--原理概念篇
  3. Linux 卷管理详解[ pv vg lv] —— 之三
  4. 投影仪和电脑连接故障
  5. 《父亲家书》选:母亲的手摔伤了
  6. 数据结构-线性表(栈与队列的特殊性)
  7. HDU - 6746 Civilization(贪心+模拟)
  8. HDU - 3247 Resource Archiver(AC自动机+状压dp+bfs)
  9. CodeForces - 617E XOR and Favorite Number(莫队)
  10. 大脚导入配置选择哪个文件_有史以来最全的 IntelliJ IDEA 配置图解