React 深入学习:JSX

537 阅读1分钟

官网例子:

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

这个有趣的标签语法既不是字符串也不是 HTML。

这个看起来像 HTML 的东西就是 JSX。

且看下面代码:

function getGreeting(user) {
  if (user) {
    return <h1>Hello, {formatName(user)}!</h1>;
  }
  return <h1>Hello, Stranger.</h1>;
}

这段代码叫 JSX,答案是否定的。它不过是一个普通的函数声明,不过是将两句 JSX 当做了表达式。也就是说,其中的 <h1>Hello, {formatName(user)}!</h1><h1>Hello, Stranger.</h1> 这两部分才能称为 JSX。

最后它们将被编译为:

function getGreeting(user) {
  if (user) {
    return React.createElement("h1", null, "Hello, ", formatName(user), "!");
  }

  return React.createElement("h1", null, "Hello, Stranger.");
}

JSX 是如何工作的