React JSX2025 年 5 月 31 日 | 阅读 4 分钟 正如我们已经看到的,所有的 React 组件都有一个 render 函数。render 函数指定了 React 组件的 HTML 输出。JSX(JavaScript 扩展),是一个 React 扩展,允许编写看起来像 HTML 的 JavaScript 代码。换句话说,JSX 是一种由 React 使用的类似 HTML 的语法,它扩展了 ECMAScript,以便类似 HTML 的语法可以与 JavaScript/React 代码共存。该语法被 预处理器 (即 Babel 这样的转换编译器) 用于将类似 HTML 的语法转换为 JavaScript 引擎可以解析的标准 JavaScript 对象。 JSX 允许你在同一个文件中编写类似 HTML/XML 的结构 (例如,类似 DOM 的树结构),你在其中编写 JavaScript 代码,然后预处理器会将这些表达式转换为实际的 JavaScript 代码。就像 XML/HTML 一样,JSX 标签有一个标签名、属性和子元素。 示例在这里,我们将在 JSX 文件中编写 JSX 语法,并查看由预处理器 (Babel) 转换的相应 JavaScript 代码。 JSX 文件 相应的输出 上面这行代码创建了一个 react element 并且传递了 三个参数 在里面,第一个是元素的名字,也就是div,第二个是在 div 标签中传递的 属性,最后一个是传递的 内容,也就是 "Hello Tpoint Tech"。 为什么要使用 JSX?
JSX 中的嵌套元素要使用多个元素,需要用一个容器元素将其包裹起来。在这里,我们使用 div 作为容器元素,它内部有 三个 嵌套元素。 App.JSX 输出 ![]() JSX 属性JSX 使用带有 HTML 元素的属性,与普通 HTML 相同。JSX 使用 驼峰式 命名约定来命名属性,而不是 HTML 的标准命名约定,例如 HTML 中的 class 在 JSX 中变为 className,因为 class 是 JavaScript 中的保留关键字。我们也可以在 JSX 中使用我们自己的自定义属性。对于自定义属性,我们需要使用 data-prefix。在下面的示例中,我们使用了一个自定义属性 data-demoAttribute 作为 <p> 标签的属性。 示例输出 ![]() 在 JSX 中,我们可以用两种方式指定属性值 1. 作为字符串字面量: 我们可以用双引号指定属性的值 示例 输出 ![]() 2. 作为表达式: 我们可以使用花括号 {} 将属性的值指定为表达式 示例 输出 45 JSX 注释JSX 允许我们使用以 /* 开头并以 */ 结尾的注释,并将它们包裹在花括号 {} 中,就像 JSX 表达式一样。下面的例子展示了如何在 JSX 中使用注释。 示例输出 我们可以看到注释没有显示在结果中。 ![]() JSX 样式React 总是建议使用 内联 样式。要设置内联样式,你需要使用 camelCase 语法。React 自动允许在特定元素的数字值后附加 px。下面的例子展示了如何在元素中使用样式。 示例输出 ![]() 注意:JSX 不允许使用 if-else 语句。作为替代,你可以使用条件(三元)表达式。使用条件表达式可以在下面的例子中看到。 示例输出 False! 下一个主题ReactJS 组件 |
我们请求您订阅我们的新闻通讯以获取最新更新。