【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

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

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

关注

评论

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

多云管理的挑战以及如何克服这些挑战

Java-fenn

Java

leetcode 1110. Delete Nodes And Return Forest 删点成林(中等)

okokabcd

LeetCode 算法与数据结构

实战指南 | Serverless 架构下的应用开发

Serverless Devs

Java 流处理之收集器

Java-fenn

Java

MobPush开发过程常见问题

MobTech袤博科技

ios android 开发者

Java 中HashMap 详解

Java-fenn

Java

活动回顾 | 基于英特尔技术的端到端音视频优化

网易智企

音视频

外包程序员的开源 Java 低代码开发平台光 2.3.0 Beta4 版发布,显著提升生成物质量

Java-fenn

Java

JavaScript 闭包难点剖析

Java-fenn

Java

面试重点:建立Java并发知识体系(含工具全图鉴)

Java-fenn

Java

怎样才能做好企业内部wiki(维基)?

Baklib

企业 wiki

详解:Java 的静态工厂方法

Java-fenn

Java

详解Java中的异常和处理时间

Java-fenn

Java

性能之巅-优化你的程序

Java-fenn

Java

中小企业如何有效应对计算资源的弹性变化需求?

Serverless Devs

现代应用参考架构之 OpenTelemetry 集成进展报告

NGINX开源社区

nginx 软件架构 Serverless Kubernetes

java时间日期类

Java-fenn

Java

公私域营销新技术:小程序一键转App

Speedoooo

小程序 APP开发 APP软件开发 小程序容器

Java注解系统学习与实战

Java-fenn

Java

【1-2 Golang】Go语言快速入门—数组与切片

Java-fenn

Java

以软件定义物联网芯片,以技术融合推动LPWAN2.0泛在物联

ZETA开发者

芯片 物联网, LoRa LPWA DSP

为什么越来越多的企业开始建立自己的知识库?

Baklib

企业 知识库

解决java多继承问题

Java-fenn

Java

微软出品自动化神器Playwright,不用写一行代码(Playwright+Java)系列(二) 之脚本的录制及调试...

Java-fenn

Java

SQL 嵌套 N 层太长太难写怎么办?

陈橘又青

9月月更

App Deploy as Code! SAE & Terraform 实现 IaC 式部署应用

Serverless Devs

边缘计算和云计算之间的区别

Java-fenn

Java

C++ 学习 ------cmath 头文件的源码学习 02

Java-fenn

Java

利用AndroidNativeEmu完成多层jni调用的模拟

Java-fenn

Java

【数据库】ClickHouse在亿级广域物联标签云平台ZETag Server的探索与实践

ZETA开发者

数据库 物联网 Clickhouse Server 云平台

Baklib|搭建在线帮助中心网页的策略分享

Baklib

页面 帮助中心 在线帮助中心

React v15发布_JavaScript_David Iffland_InfoQ精选文章