郭震 AI公众号:郭震AI

7 JSX 语法基础

发布日期:

分类: React.js

预计阅读: 3 分钟

阅读次数: 0

预计阅读3 分钟
结构重点8 个
图文要点0 张
正文规模1.2k 字

在前一篇中,我们介绍了 React 应用的基本文件结构。在这篇文章中,我们将深入了解 JSX,这是 React 中一个非常重要且独特的概念。理解 JSX 是掌握 React 的关键之一,因为它简化了在 JavaScript 代码中编写 HTML 结构的方式。

什么是 JSX?

JSX 是 JavaScript XML 的缩写,它允许我们在 JavaScript 代码中编写类似 HTML 的语法。虽然你可以使用传统的 JavaScript 来创建 React 元素,但 JSX 使得创建组件的过程更加直观和方便。

使用 JSX,你可以将组件结构直接嵌入到 JavaScript 代码中,这使得组件的视觉结构和逻辑定义更为紧密。

示例

以下是一个简单的 JSX 示例:

const element = <h1>Hello, world!</h1>;

在这个例子中,我们创建了一个 React 元素 element,它是一个包含 "Hello, world!" 的 h1 标题。

JSX 语法规则

尽管 JSX 看起来类似于 HTML,但有一些需要遵循的规则:

  1. 单根节点:每个 JSX 元素必须有一个单一的根节点。例如,如果你需要返回多个元素,可以将它们包裹在一个 div 元素中,或者使用 React Fragment

    const element = (
      <div>
        <h1>Hello, world!</h1>
        <p>欢迎使用 React!</p>
      </div>
    );
    

    或者使用 React Fragment

    const element = (
      <>
        <h1>Hello, world!</h1>
        <p>欢迎使用 React!</p>
      </>
    );
    
  2. 属性:JSX 中的属性使用 camelCase 语法,而不是 HTML 中的常规小写。例如,使用 className 而不是 class

const element = <div className="my-class">内容</div>;
  • 表达式:你可以在 JSX 中使用 JavaScript 表达式,只需要将其放在花括号 {} 中。这使得内容的动态渲染变得十分容易。

    const name = "React";
    const element = <h1>Hello, {name}!</h1>;
    
  • 如何编译 JSX?

    虽然我们在 JavaScript 代码中使用 JSX,浏览器并不能直接理解这些语法。为了使其可运行,JSX 被转译为 React.createElement() 调用。例如:

    const element = <h1>Hello, world!</h1>;
    

    经过编译后,变成了:

    const element = React.createElement('h1', null, 'Hello, world!');
    

    为了使用 JSX,我们通常会借助像 Babel 这样的工具,它可以在构建过程中自动将 JSX 转换为 JavaScript。

    嵌套与条件渲染

    嵌套 JSX

    在 JSX 中,你可以嵌套其他 JSX 元素。React 允许我们将组件嵌套,实现更加复杂的 UI。

    const App = () => (
      <div>
        <h1>欢迎</h1>
        <p>这是一个使用 JSX 的示例。</p>
      </div>
    );
    

    条件渲染

    我们还可以在 JSX 中进行条件渲染,这通过 JavaScript 表达式实现:

    const isLoggedIn = true;
    const element = (
      <div>
        {isLoggedIn ? <h1>欢迎回来!</h1> : <h1>请登录.</h1>}
      </div>
    );
    

    在上面的例子中,当 isLoggedIntrue 时,渲染 "欢迎回来!",否则渲染 "请登录."。

    总结

    在本篇中,我们了解了 JSX 是什么以及如何在 React 中使用它。我们讨论了 JSX 的基本语法规则,包括如何创建元素、使用属性和嵌套结构。通过示例,我们展示了如何通过 JSX 渲染动态内容。

    理解 JSX 是学习 React 的基础,而下一篇中我们将探讨另一个核心概念——虚拟 DOM。继续保持对 React 的好奇,我们下篇见!

    分享文章

    转发到常用平台

    微信/朋友圈可先复制链接

    相关内容

    更多相关文章

    返回栏目

    Reader Messages

    读者留言

    有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

    最多 800 字

    为了防刷,每条留言会做长度、链接数量和提交频率限制。

    0/800

    留言列表

    0
    正在加载留言...