React 15.5带来重大修改

2017 年 4 月 17 日

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

2017 年 4 月 17 日 19:002367
用户头像

发布了 1008 篇内容, 共 307.1 次阅读, 收获喜欢 272 次。

关注

评论

发布
暂无评论
发现更多内容

经济优势再显,江苏如何通过职教打造人才高地?

InfoQ_967a83c6d0d7

C++ 流插入和流提取运算符的重载

小林coding

c++ 编程

C++ 自增、自减运算符的重载和性能分析

小林coding

c++ 编程 运算符

2. 整体把握 CocoaPods 核心组件

Edmond

ruby ios swift CocoaPods 包管理工具

Java NIO 是 NIO么?

soolaugust

Java io nio

企业应用开发或迎新趋势 “低代码平台”备受追捧

爱极客侠

Apache 顶级项目 Apache Pulsar 成长回顾

Apache Pulsar

kafka 云原生 中间件 Apache Pulsar 消息系统

微服务-技术专题-初步介绍服务发现

李浩宇/Alex

Java 技术 微服务

架构师训练营 - 第十周 - 总结

Anrika

极客大学架构师训练营

SpringCloud(Netflix)-技术专题-Ribbon的基本使用

李浩宇/Alex

Java 技术 SpringCloud

最佳实践:使用阿里云CDN加速OSS访问

巨侠说

CDN

实用心理学之识人篇

代码制造者

低代码 零代码 职场成长 编程开发 职场搞笑

区块链技术与福彩事业结合的变革

CECBC区块链专委会

区块链技术 福彩平台

认识分布式系统

多颗糖

分布式 分布式系统 分布式存储

Java-技术专题-final关键字

李浩宇/Alex

使用 Golang 和 HTML5 开发一个 MacOS App

郭旭东

go macos

央行发行的数字货币会带来哪些变化?

石云升

区块链 数字货币 DECP

排序算法二(归并排序、快速排序、希尔排序)

xcbeyond

Java 算法 快速排序 归并排序 希尔排序

C++ 模板常见特性(函数模板、类模板)

小林coding

c++ 编程 模板方法

云计算的可信新边界:边缘计算与协同未来——【两万五千字长文】

华为云开发者社区

云计算 云原生 5G 边缘计算 云服务

白鹭引擎助力《迷你世界》研发团队开发3D小游戏版

DT极客

Volcano:带你体验容器与批量计算的碰撞的火花

华为云开发者社区

Kubernetes 容器 分布式 Volcano 批量计算

微服务-技术专题-使用 API 网关构建微服务

李浩宇/Alex

微服务

微服务架构的整套解决方案

xcbeyond

架构 微服务 IT建设

Linux 平均负载高了怎么办?

小林coding

Linux 问题处理 linux命令

职教黄金时代,河南如何继续“乘风破浪”?

InfoQ_967a83c6d0d7

高效程序员的45个习惯:敏捷开发修炼之道(2)

石云升

读书笔记 敏捷开发 对事不对人 欲速则不达

区块链:在发展的同时,准备好你的产品。

石云升

区块链 DCEP 创新

排序算法一(冒泡排序、选择排序、插入排序)

xcbeyond

Java 算法 冒泡排序 选择排序 插入排序

知识点梳理:聊聊iOS SDK数据采集那点事儿

易观大数据

SpringMVC-技术专题-支持可版本管理的Restful接口

李浩宇/Alex

springmvc

React 15.5带来重大修改-InfoQ