BT

您是否属于早期采用者或者创新人士?InfoQ正在努力为您设计更多新功能。了解更多

React 15.5带来重大修改

| 作者 David Iffland 关注 2 他的粉丝 ,译者 谢丽 关注 1 他的粉丝 发布于 2017年4月18日. 估计阅读时间: 不到一分钟 | 智能化运维、Serverless、DevOps......2017年有哪些最新运维技术趋势?CNUTCon即将为你揭秘!

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT