写点什么

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:003023
用户头像

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

关注

评论

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

企业如何根据业务需求调整YashanDB数据库配置

数据库砖家

企业云端环境下YashanDB数据库部署实战指南

数据库砖家

为何选择YashanDB数据库作为您的数据管理平台?

数据库砖家

从开放生态到技术破局,昇腾CANN筑实AI时代的创新基座

极客天地

企业如何利用YashanDB实现高效的数据检索

数据库砖家

企业如何选择合适的YashanDB数据库部署策略

数据库砖家

企业如何构建基于YashanDB的数据分析系统

数据库砖家

企业如何利用YashanDB实现数据资产价值最大化

数据库砖家

从MPP到NewSQL:TiDB全面替代Greenplum的技术必然性

TiDB 社区干货传送门

TiDB第四届征文-业务场景实战

“企业级敏捷教练课程” CSP-SM认证 | 9月13-14日 · 周末班

ShineScrum

敏捷 敏捷教练 ScrumMaster认证 CSM认证 CSM认证培训

什么是YashanDB?深入解析企业级数据库解决方案

数据库砖家

新一代机械加工行业智能化MES:智能排产+质量追溯+设备互联

万界星空科技

mes 万界星空科技mes 机械加工行业 机械加工mes 制造业转型

企业如何利用YashanDB提升系统稳定性

数据库砖家

企业如何通过YashanDB实现敏捷数据开发?

数据库砖家

企业如何通过YashanDB实现数据的实时同步与备份?

数据库砖家

YashanDB的事务处理特性

数据库砖家

中烟创新自研【烟草专卖执法案卷评查系统】入选“北京市人工智能赋能行业发展典型案例”

中烟创新

共筑 AI 时代金融数据新基座,平凯星辰亮相中国国际金融展

TiDB 社区干货传送门

为何YashanDB数据库是现代企业数字化转型的选择

数据库砖家

接入且慢MCP,如何3分钟生成专属的财务诊断和投资规划报告

盈米AI开放平台

了解YashanDB的索引机制,提升查询效率

数据库砖家

企业如何通过YashanDB实现业务数据整合

数据库砖家

YashanDB数据库安装流程和配置指南

数据库砖家

企业如何使用YashanDB实现数据资产最大化?

数据库砖家

企业为什么选择YashanDB数据库?七大核心优势解析

数据库砖家

企业如何优化YashanDB的查询性能?实用策略总结

数据库砖家

企业如何有效评估YashanDB的实施效果

数据库砖家

企业在选择YashanDB数据库时应关注哪些关键指标?

数据库砖家

携手火山引擎,顺丰科技用AI重塑供应链

新消费日报

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