写点什么

React 0.14 候选版发布,添加包分割,Refs 语法等新特性

  • 2015-09-17
  • 本文字数:1059 字

    阅读完需:约 3 分钟

两个月以前,React 0.14 发布 Beta 版,目前,该项目正式发布候选(RC)版。React 0.14 将强制分离渲染引擎与关注点,简化无状态组件的声明,添加新语法 refs

React 0.14 将被分割为两个包:reactreact-dom。这一决定旨在强制分离 React 和它的 DOM 渲染引擎。分离后的react包含各种创建组件的方法,例如:React.createElementReact.createClassReact.Component、React.PropTypesReact.childrenreact-dom包含各种渲染方法,例如:ReactDOM.renderReactDOM.unmountComponentAtNodeReactDOM.findDOMNodereact-dom/server提供对服务器端组件渲染功能的支持。

Facebook 尝试通过这次分离实现两个目标:

  • 允许开发者自定义 DOM 渲染引擎;
  • 允许跨渲染引擎共享组件,例如:react-dom[react-native][3][react-art][4][react-canvas][5]以及[react-three][6]

第二个主要变化是,React 0.14 为内建的 DOM 节点引入了关注点引用(concerns refs)。在 React 0.13 中,如果你想通过引用(ref)访问一个节点属性,需要这样写:

复制代码
const nameNode = this.refs.name.getDOMNode();

在 React 0.14 中,内建 React 节点的引用是节点本身,所以代码可以简化为:

复制代码
const nameNode = this.refs.name;

引用节点的唯一作用是访问它的 DOM 节点,基于这个理念,这次的改变只针对内建节点,不会影响用户自定义的节点。与此同时,.getDOMNode()方法也被弃用并使用ReactDOM.findDOMNode进行替代。为此,Facebook 发布了一个名为 codemod 的脚本来帮助开发者完成这一转变。

此外,React 0.14 也在尝试简化有其它组件组成的无状态组件的声明方式,这与 React 0.13 启动时 Facebook 工程师所陈述的如出一辙:

不幸的是,我们不会在 React 中针对 ES6 类语法提供 mixin 支持。那与我们使用符合语言习惯的 JavaScript 的观念相违背。[…] 我们同样会开始设计一个新的组合 API,可以不借助 mixin 简化常见的任务。

React 0.14 中的新语法将允许使用props作为参数并返回渲染的元素:

复制代码
var Aquarium = (props) => {
var fish = getFish(props.species);
return <tank>{fish}</tank>;
};

React 0.14 还会弃用一些方法,例如:this.getDOMNode()setPropsreplaceProps等。此外,React 0.13 中所有的弃用警告全部转变为错误抛出。

可以通过npm安装 React 0.14:

复制代码
npm install --save react@0.14.0-rc1
npm install --save react-dom@0.14.0-rc1

也可以访问 React 的 Github 仓库通过 bug tracker 来提交 issue。

查看英文原文: React 0.14 Hits Release Candidate, Adding New Package Split, Refs Syntax, and More

2015-09-17 19:002990
用户头像

发布了 63 篇内容, 共 137.1 次阅读, 收获喜欢 38 次。

关注

评论

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

打造梦想花园,Garden Planner助你一臂之力!

Rose

mac电池健康守护者:coconutBattery Plus,精准监控您的设备电量!

Rose

一文详解阿里云可观测体系下标签最佳实践

阿里巴巴云原生

阿里云 云原生 可观测

杰邦网络-安徽芜湖联通DC安全基地:网络安全的坚固堡垒,为企业发展保驾护航

江湖老铁

Mac GIT客户端 SourceTree激活码 免登陆版

Rose

Sketch中文版 v101是一款专为设计师打造的矢量绘图设计工具

Rose

七牛云与 openEuler 完成兼容互认证

七牛云

探索淘宝天猫API接口:揭秘商品详情与评论的深度获取

代码忍者

API 接口 pinduoduo API

2024“创客中国”国际中小企业创新创业大赛决赛即将在南沙开启→

新消费日报

精益研发管理:如何用工具助力制造业IPD

axe

敏捷 精益 IPD 制造业 项目管理工具

淘宝天猫API接口:关键字搜索商品列表与详情图的创新应用

代码忍者

API 接口 pinduoduo API

测试外包服务 | 从人员外包到测试工具、测试平台,提供全方位的测试解决方案~

测吧(北京)科技有限公司

测试

七牛云荣登 36 氪「WISE2024 商业之王年度最具商业价值企业」榜单

七牛云

KG+RAG 系列范式对比及 KAG 框架再思考:兼看大模型增强 KBQA 问答竞赛方案

可信AI进展

产品经理如何做好产品和需求管理

易成研发中心

产品经理 需求管理 需求管理工具

AI浪潮下,从英伟达GPU看全球芯片市场能否撬动黄金和石油的传统地位?

GPU算力

gpu 芯片 英特尔 GPU 集群 gpu 算力

突破传统开发瓶颈:AI赋能下的低代码平台如何助力业务创新?

天津汇柏科技有限公司

低代码平台 AI 人工智能

优化数据库管理,Navicat for MySQL助你一臂之力

Rose

KAG 技术与实践分享|基于 KAG 框架自主完成领域图谱构建和知识问答

可信AI进展

AutoCAD 2019中文版(附cad2019安装教程图解)

Rose

XLD音频无损解码 X Lossless Decoder for mac中文直装版

Rose

CAD建模软件BricsCAD 24:性能升级,设计无界

Rose

AI工具百宝箱|GenFM on ElevenReader,支持32种语言的AI播客,等你来体验

可信AI进展

React 0.14候选版发布,添加包分割,Refs语法等新特性_JavaScript_Sergio De Simone_InfoQ精选文章