写点什么

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

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

关注

评论

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

DeepSeek大模型6大部署模式解析与探索测试开发技术赋能点

测试人

人工智能 软件测试

智能制造架构设计方案

金陵老街

智慧工厂 智能制造

接棒DeepSeek,Manus带来AI Agent最新工程实践

小鲸数据

AI Agent #AI Manus

YashanDB操作系统身份认证配置

YashanDB

数据库 yashandb

19.5stars!未来十年一定要学的免费、开源的OLAP数据库——DuckDB

遇码

大数据 开源 数据分析 OLAP duckdb

淘宝淘口令API接口全攻略

tbapi

淘宝API接口 淘宝口令接口 淘口令API接口

时序数据库 IoTDB 为某大厂多领域物联网场景提供数字化管理基座

Apache IoTDB

H5 APP的性能优化

北京木奇移动技术有限公司

软件外包公司 APP外包公司 APP开发公司

YashanDB HA节点间SSL连接配置

YashanDB

数据库 yashandb

YashanDB TLCP连接配置

YashanDB

数据库 yashandb

【GreatSQL优化器-16】INDEX_SKIP_SCAN

GreatSQL

企业为什么需要建设零信任身份安全

芯盾时代

iam 零信任 统一身份管理平台

为什么说JSON不一定是LLM结构化输出的最佳选择?

Baihai IDP

程序员 AI LLMs 格式化数据

三个AI思维,让你拥有碾压DeepSeek实力

小鲸数据

DeepSeek AI思维

推荐一款好用的智能工单系统,有哪些智能化应用场景

云智慧AIOps社区

ITSM ITSM软件 工单系统 智能工单

一招解决数据库中报表查询慢的痛点

阿里技术

数据库 duckdb TP系统

认知、实践、驾驭:AI 时代普通人的务实生存法则

小鲸数据

【每日学点HarmonyOS Next知识】获取资源问题、软键盘弹起、swiper更新、C给图片设置位图、读取本地Json

轻口味

HarmonyOS HarmonyOS NEXT

AI颠覆数据分析!Google最新AI产品Data Science Agent让你秒变数据科学家

小鲸数据

AI 数据分析 数据科学 AI Agent 自动化分析

H5 APP开发框架及特点

北京木奇移动技术有限公司

APP开发 软件外包公司 H5 APP

邀请函|相约新乡——“AI 赋能,智造跃迁” AI 驱动数字化创新设计促进新质生产力发展交流会

Altair RapidMiner

AI 数字化转型 仿真 智能制造 CAE

原生APP的性能优化

北京木奇移动技术有限公司

APP开发 软件外包公司 APP外包公司

家政服务平台(源码+文档+讲解+演示)

深圳亥时科技

YashanDB数据库服务端SSL连接配置

YashanDB

数据库 yashandb

YashanDB分布式节点间SSL连接配置

YashanDB

数据库 yashandb

从ChatGPT到DeepSeek,现象级爆火背后的数学逻辑!

小鲸数据

推理大模型时代,TextIn ParseX助力出版业知识资产重构

合合技术团队

人工智能 算法 图表 图像处理 大模型

兼职招聘平台(源码+文档+讲解+演示)

深圳亥时科技

两会布局的新兴和未来产业,用友一直在助力!

用友智能财务

AI 财经 用友 会计

【活动预告】3.15 数据与 AI 新技术论坛,徐汇西岸见!

Apache IoTDB

MAC与HMAC技术辨析

石君

hash HMAC-SHA

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