《HarmonyOS:领航者说》技术公开课来啦,大咖分享、实战解码,不容错过 了解详情
写点什么

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

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

关注

评论

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

思特奇加入openGauss开源社区,共同推动数据库产业生态发展

数据库 开源社区

九鑫智能正式加入openGauss社区

文盘Rust -- struct 中的生命周期

京东科技开发者

redis rust 生命周期 Trait Trait Objects

Qt | 按钮控件的使用 QCheckBox

YOLO.

qt 10月月更 C++

议题征集|Flink Forward Asia 2022 正式启动

Apache Flink

大数据 flink 流计算 实时计算

LinkedList源码分析(一)

知识浅谈

linkedlist 10月月更

要求必须使用强密码

源字节1号

代码质量与安全 | 清洁代码(Clean Code)比您认为的更重要

龙智—DevSecOps解决方案

clean code 清洁代码

版本控制 | 一文了解VR内容创作的步骤与关键技术

龙智—DevSecOps解决方案

vr VR/AR

七天杀上GitHub榜首!Java并发编程深度解析实战,JUC底层原理揭秘

Geek_0c76c3

Java 数据库 开源 程序员 架构

关于 Angular view Query 的 id 选择器问题的单步调试

汪子熙

typescript 前端开发 angular web开发 10月月更

静态代码分析 | 数字驾驶舱时代,如何确保车载信息娱乐系统的网络安全?

龙智—DevSecOps解决方案

网络安全 车载信息娱乐系统 IVI

Surpass Day——Java this关键字

胖虎不秃头

Java 10月月更 se

【一Go到底】第八天---用户输入

指剑

Go golang 10月月更

直呼内行!阿里大佬离职带出内网专属“Redis设计应用实践”学习笔记

Geek_0c76c3

Java 数据库 开源 程序员 架构

SpringCloud版本升级后bootstrap.yml配置不生效

共饮一杯无

Java SpringCloud spring-boot 10月月更

Web3流支付迎来新质变,Zebec开放Zepoch节点申请

鳄鱼视界

一名在读研究生的自白:我为什么会沉迷于openGauss 社区?

数据库基础

说故事的五公子

MySQL 数据库 sql

Surpass Day——Java 多态、final关键字、常量、package、import、访问控制权限修饰符

胖虎不秃头

Java 10月月更 se

openGauss开源2周年,破解数据库生态痛点

Qt | 实现网页历史记录和查找功能 QWebEngineView

YOLO.

qt 10月月更 C++

openGauss社区理事长江大勇:openGauss联合产业界创新,共建开源数据库根社区

开源数据库

线下活动 | 龙智Atlassian ITSM 解决方案即将亮相2022全球运维大会上海站

龙智—DevSecOps解决方案

gops GOPS全球运维大会

Surpass Day——Java static关键字、继承、方法覆盖

胖虎不秃头

Java 10月月更 se

即时通讯技术周刊(第1期):懒人网络编程系列 [共14篇]

JackJiang

网络编程 即时通讯 IM

.NET现代化应用开发 - CQRS&类目管理代码剖析

MASA技术团队

.net CQRS MASA Framewrok MASA

Arduino ESP32-C3 入门初探

矜辰所致

Arduino ESP32-C3 10月月更 Ard

拿到字节跳动offer后,又收到了阿里的面试邀请,二面迎来了P9"盘问"

Geek_0c76c3

Java 开源 程序员 架构 开发

Sentinel Go-毫秒级统计数据结构揭秘

柠檬汁Code(binbin0325)

数据结构 源码分析 限流 Sentine 10月月更

Web3流支付迎来新质变,Zebec开放Zepoch节点申请

西柚子

React v15发布_JavaScript_David Iffland_InfoQ精选文章