写点什么

React v15 发布

  • 2016-04-17
  • 本文字数:939 字

    阅读完需:约 3 分钟

Facebook 最近发布了 React 15 的最终版,清理了许多 DOM 问题,提升了性能,增强了对 SVG 的支持。

在该版本中,React 在渲染 HTML 方面有两项重大更新:移除 data-reactid 属性和文本中不必要的<span>元素。在早先的版本中,渲染的 DOM 元素可能是这样:

复制代码
<div data-reactid=".0.0.5">
<div data-reactid=".0.0.5.0">Hello</div>
</div>

而现在,同样的 HTML 片段却是这样的:

复制代码
<div>
<div>Hello</div>
</div>

在某些纯文本元素中去除<span>标签不仅可以让渲染的 HTML 更干净,也可以帮助修复开发者可能遇到过的非预期的 CSS 行为问题。

新版本完成了对所有 SVG 属性的支持,但是在候选(Release Candidate)版本的发布后,它发生了一些变化。在 GitHub 提交信息中, Paul O’Shannessy 称在团队讨论过如何让新用户更加方便地使用 React 之后对 SVG 白名单进行了更新:

候选版本让我们在 HTML 和 SVG 行为方面处于不一致状态。这样并不好,我们必须从 React 中学到很多教训,抛出更多的不一致是不好的。所以我们会暂时回退一步,但仍会通过之前的白名单继续对 SVG 提供完整的支持,并且我们会扩展这个白名单。

有意思的是,你会发现 O’Shannessy 编写了一个脚本,通过分析Mozilla Developer Network 找出完整的SVG 属性列表。

因为这是一次主要版本发布,所以做了一些突破性改变。除了新的DOM 渲染变化,在0.14 版本中引入的废弃的特性现在都已移除。

从v15.0 版本开始,使用TypeScript1.8.9 版本的用户不能再编译TSX 文件,这是由于新版本移除了一个废弃的特性。虽然有其他的变通方案, Facebook 还是恢复了 React.__spread API 并正式弃用了它。Dan Abramov 警示大家说,在下次主要发布中它将被弃用,因此任何用到这个API 的工具集必须停止使用它。在下次发布中会有对该TypeScript 问题的修复。

正如InfoQ 早先报道过的那样,这是React 首次使用新的版本命名方式。之前的版本编号形如 “0.14.7”。

根据最新的团队会议备忘录,社区将会看到更多小版本的发布和补丁,以及改进的变更日志。

查看英文原文 React v15 Released


感谢丁涛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-04-17 19:002951
用户头像

发布了 218 篇内容, 共 77.9 次阅读, 收获喜欢 76 次。

关注

评论

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

新思科技发布《一往无前:GitOps与安全左移》报告

InfoQ_434670063458

新思科技 开源软件 Synopsys 供应链安全

vue2数据响应式原理——数据劫持(对象篇)

海底烧烤店ai

前端 JavaScrip vue源码解读 9月月更

AntDB基于Oracle兼容下的DECODE函数适配

亚信AntDB数据库

数据库 AntDB 国产数据库 AntDB数据库

什么是接入点 Access point?

wljslmz

网络技术 无线技术 9月月更 无线接入点

Solo博客静态部署到码云gitee —— 全网最详细系列

海底烧烤店ai

部署 博客系统 博客搭建 9月月更

web前端培训课程哪家好

小谷哥

物联网平台在AIoT领域8大场景应用

AIRIOT

低代码 物联网 低代码平台 低代码,项目开发

小程序容器,让你快速控制智能家居

Geek_99967b

小程序 小程序容器

忘记背后,努力面前【开学季flag】

Fire_Shield

程序人生 9月月更 开学季

数据库高可靠,轻松解决事务丢失问题

天翼云开发者社区

【React】从0到1搭建你的React18项目

海底烧烤店ai

前端 React Hooks 9月月更

Java 将 Word 转换为PDF文档

在下毛毛雨

Java PDF word Word转PDF

[MyBatisPlus]映射匹配兼容性

十八岁讨厌编程

Java 后端开发 9月月更

从华为数字机器人秋季发布会,看智慧政务领域的“政务新视界”

王吉伟频道

RPA 自动化优先 智慧政务 华为数字机器人 数字机器人

快速入门JavaScript

楠羽

JavaScript 笔记 9月月更

天翼云铸牢国云安全,护航千行百业

天翼云开发者社区

打造国云安全品牌,铸牢企业云上安全防线

天翼云开发者社区

小程序转 App 帮助中小企业打开营销新窗口

FinClip

跳槽一次能涨多少?一份1500道大厂面试题笔记就够了,涨薪80%

程序知音

Java 程序员 java面试 后端技术 Java八股文

为什么C++能屹立这么久?细说C++ 可以开发的 7 件事 以及 C++ 的特点和学习的优点

C++后台开发

c++ C/C++ C++后台开发 C++开发 C++开发工程师

[MyBatisPlus]乐观锁、代码生成器

十八岁讨厌编程

Java 后端开发 9月月更

研发效能提升不来自于度量本身,而来自于针对性的改进

万事ONES

大数据开发入门学习方法推荐

小谷哥

一键小程序转换App,极低门槛实现组装式App

FinClip

云行| 天翼云中国行走进宁波,推动千行百业迈向数字化转型之路

天翼云开发者社区

2022世界人工智能大会开幕,天翼云注智城市数字化转型

天翼云开发者社区

多因素身份认证 (MFA) 插件:手机验证码认证因素配置流程

龙归科技

开源 手机验证码认证

[MyBatisPlus]id生成策略控制

十八岁讨厌编程

Java spring 9月月更

重磅启动!第 17 届「中国 Linux 内核开发者大会」征稿

OpenAnolis小助手

Linux 征稿 内核 开发者大会 龙蜥社区

本周四晚19:00知识赋能第八期第1课丨ArkUI框架整体设计

OpenHarmony开发者

OpenHarmony

零基础学习大数据还是自学呢

小谷哥

React v15发布_JavaScript_David Iffland_InfoQ精选文章