AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

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

关注

评论

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

GitHub经典教材!阿里P8的这份SpringBoot精髓到底厉害在哪里?

Java~~~

Java 架构 面试 微服务 Spring Boot

实时消息RTM| 多活架构中的数据一致性问题

anyRTC开发者

音视频 WebRTC 数据一致性 实时消息 数据容灾

实战 实时物体检测YOLOv3 CNN卷积神经网络John 易筋 ARTS 打卡 Week 63

John(易筋)

ARTS 打卡计划

求阿里大神整理的分布式核心笔记出炉了,GitHub刚发布就标星85k

Java~~~

Java 负载均衡 架构 面试 分布式

Alibaba新产!Spring+SpringBoot+SpringCloud全家桶进阶小册

Java~~~

Java spring 架构 面试 Spring Boot

分布式消息流平台:不要只想着Kafka,还有Pulsar

华为云开发者联盟

kafka 云原生 pulsar 消息 分布式消息流平台

33张图解析ReentrantReadWriteLock源码

程序猿阿星

源码分析 读写锁 ReentrantReadWriteLock 源码解读

出自清华大神之手的JVM实战手册,刚上架GitHub点赞就达到85k

Java~~~

Java 架构 面试 JVM 多线程

有人在恶意提权吗?

BUG侦探

Linux 主机安全 提权

不吹不黑!阿里新产微服务架构进阶笔记我粉了!理论实战齐飞

Java 程序员 架构 面试 微服务

自主研发数据库TDSQL和TBase核心架构揭秘和实践

腾讯云数据库

数据库 tdsql

Elasticsearch可观测最佳实践分享!3分钟带你快速入门!

观测云

elasticsearch

Alibaba内部的10w字Java高频面试手册遭人恶意在牛客网开源下载?

Java~~~

Java 架构 面试 JVM 多线程

Github星标百万!终于有人将Spring技术精髓收录成册

Java 编程 程序员 架构 面试

在FL Studio中如何使用混音器的效果

懒得勤快

爆赞!GitHub上首本IntelliJ IDEA操作手册,标星果然百万名不虚传

Java~~~

Java 架构 面试 IDEA 架构师

让GitHub炸锅的深入理解MySQL实战手册,竟出自阿里云“藏经阁”

Java~~~

Java MySQL 数据库 架构 面试

GitHub上火了这份堪称神级的SpringBoot手册,竟出自滴滴之手

Java~~~

Java spring 架构 面试 Spring Boot

腾讯云数据库TDSQL:分布式数据库,你真的了解吗?

腾讯云数据库

数据库 tdsql

Java多线程:从基本概念到避坑指南

Java 架构 后端 JVM 计算机

三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经

Java 程序员 面试 后端 计算机

别人就算了,开发人员都不知道低代码的起源就糟糕了

低代码小观

开发者 低代码 开发工具 无代码 低代码起源

腾讯云TDSQL,从数据库巨人身上撕开一道口子

腾讯云数据库

数据库 tdsql

如何实现 Android 短视频跨页面的流畅续播?

阿里云CloudImagine

android App 音视频 Video播放器 APP开发

在职字节师兄分享出了这份数据结构手册,LeetCode现已开放下载

Java~~~

Java 架构 面试 算法 刷题

从动物科学到乐队鼓手,腾讯技术小哥的开源人生

腾源会

腾讯云 开源

TDSQL云时代,我们需要怎样的数据库?

腾讯云数据库

数据库 tdsql

TDSQL演进三部曲

腾讯云数据库

tdsql #数据库

滴滴最看重的SpringCloud手册曾被疯狂转载,现在学还有用吗?

Java~~~

Java 架构 面试 微服务 Spring Cloud

腾讯云TDSQL:真正面向金融行业的典型场景

腾讯云数据库

数据库 tdsql

一文详述如何卸载SQL Server 2019及其 DBMS

Regan Yue

数据库 SQL语言 9月日更

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