QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

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

关注

评论

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

ProgressBar(进度条)

芯动大师

Android Studio 进度条 ProgressBar

2023年,祝你有个好习惯!

石云升

习惯 年终总结 1月月更

2022年终总结:一年读完的40本书

石云升

读书笔记 年终总结 1月月更

Jenkins 构建过程中提示 GPG 错误

HoneyMoose

重磅 | 九科信息加入深圳市智能制造产业促进会,共促智能制造产业健康发展

九科Ninetech

2022年中国潮流运动消费发展白皮书

易观分析

运动 潮流运动 潮流

2023-01-09:以下go语言代码输出什么?A:+Inf; B:zero; C:something else; D:doesn‘t compile。 package main import (

福大大架构师每日一题

golang go语言 福大大 选择题

Guitar Pro2024免费版吉他打谱软件

茶色酒

Guitar Pro8 Guitar Pro2024

模块五作业

张贺

《PyTorch 深度学习实战》学习笔记--Mac M1 安装PyTorch2.0

IT蜗壳-Tango

一个词语总结2022,你的是什么? | 2022 年度总结

陈言必行

2022年终总结

【Meetup预告】SeaTunnel + OpenMLDB:共筑数据集成生态,加速实时场景落地

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

程序摄像头Trace Profiling:生产环境10分钟黄金时间快速排障手册

KINDLING

Java Linux 运维 ebpf

比 CK 再快 24% ! YMatrix 5.0 SSB 基准测试报告

YMatrix 超融合数据库

Clickhouse 性能基准测试 超融合数据库 YMatrix

有什么好用的云渲染?这篇文章给你答案

Renderbus瑞云渲染农场

云渲染 好用的云渲染平台

数智化转型进入“精装时代”,容联云助力千行百业加速上云用数赋智

脑极体

恭喜龙蜥获得中国开源云联盟2022年度中国“最佳开源实践案例”和“杰出开源贡献者”奖项

OpenAnolis小助手

开源 龙蜥社区 COSCL 木兰峰会 中国开源云联盟

对话开发者:Serverless 落地的困境与破局

Serverless Devs

阿里云 Serverless 云原生

Jenkins 项目的 gpg: signing failed: Bad passphrase 错误

HoneyMoose

React源码分析6-hooks源码

flyzz177

React

聊聊降本提效这件事儿

阿里巴巴中间件

阿里云 容器 云原生 中间件 降本增效

小程序原理之: WXSS 编译

Speedoooo

小程序 小程序技术 小程序编译

微软提出通用解码器 X-Decoder,支持图像分割和语言分词

Zilliz

算法模型

对话阿里云叔同:如何看待 2022 年云原生的发展,2023 年有哪些值得关注的技术?

Serverless Devs

阿里云 Serverless 云原生

Spring Cloud Alibaba x AppActive 带来的全新异地活动解决方案

阿里巴巴中间件

阿里云 云原生 Spring Cloud Aliababa

openEuler委员会主席江大勇:激发原创力量,逐梦数智未来

openEuler

数据库 开源 操作系统 openEuler 资讯

写了2年文章的我,昨天第一次露脸直播。

王中阳Go

深度思考 高效工作 学习方法 程序员 微服务架构

Studio One2023终于有了视频支持,可以方便做视频配乐了

茶色酒

Studio One2023

React源码分析7-state计算流程和优先级

flyzz177

React

React v15发布_JavaScript_David Iffland_InfoQ精选文章