【全栈React】第2天: 什么是 JSX?

发布时间:2019-08-09 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了【全栈React】第2天: 什么是 JSX?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

本文转载自:众成翻译
译者:iOSDevLog
链接:http://www.zcfy.cc/article/3797
原文:https://www.fullstackreact.com/30-days-of-react/day-2/

现在我们知道React是什么,让我们来看看这个系列的其余部分将会出现的几个语和概念。

在我们前面的文章中,我们看了一下React,并在高级别上讨论了它的工作原理。 在本文中,我们将介绍React生态系统的一部分:ES6和JSX

JSX/ES5/ES6 什么鬼东西??!

互联网上的任何粗略的搜索寻找React材料,毫无疑问,你已经遇到了术语JSX,ES5和ES6。这些难懂的首字母缩略词可能会很快混乱。

ES5(ES 代表ECMAScript)基本上是“常规JavaScript”。第5次更新JavaScript,ES5在2009年完成。它已被所有主要浏览器支持多年。因此,如果你在最近写过或看过任何JavaScript,很可能是ES5。

ES6是一个新版本的JavaScript,添加了一些不错的语法和功能添加。它在2015年完成。ES6 几乎完全支持 所有主要的浏览器。但这将是一段时间,直到较旧版本的Web浏览器逐步停止使用。例如,internet Explorer 11不支持ES6,但是具有大约12%的浏览器市场份额

为了获得ES6的好处今天,我们必须做一些事情,使它工作在尽可能多的浏览器,我们可以:

  1. 我们必须 转换 我们的代码,以便更广泛的浏览器了解我们的JavaScript。这意味着将ES6 JavaScript转换为ES5 JavaScript。
  2. We have to include a shim or polyfill that PRovides addITional functionality added in ES6 that a browser may or may not have.
  3. 我们必须包括一个垫片或polyfill,提供在ES6中添加的浏览器可能具有或可能没有的附加功能。

我们将在本系列的稍后部分看到我们如何做到一点

我们将在本系列中编写的大多数代码都可以轻松地转换为ES5。在我们使用ES6的情况下,我们将首先介绍功能,然后通过它。

我们将看到,所有的React组件都有一个render函数,它指定了React组件HTML输出。JavaScript eXtension,或更常见的JSX,是一个React扩展,允许我们编写看起来像 HTML的JavaScript 。

尽管在以前的范例中,将JavaScript和标记包含在同一个地方被认为是一种不好的习惯,但是结果是将视图与功能相结合使得对视图的推理变得非常简单

看看这是什么意思,想象一下,我们有一个React组件来呈现一个h1 HTML标签。JSX允许我们以非常类似于HTML的方式声明这个元素: