JSX代表什么?

use*_*636 42 javascript reactjs react-jsx

JSX代表什么?

我指的是定义为ECMAScript的类似XML的语法扩展的JSX,它随着ReactJS的日益普及而变得非常流行.

Li3*_*357 52

JSX代表J ava S cript X ML.使用React,它是元素和组件的类似XML的代码的扩展.根据React文档和您提到的:

JSX是ECMAScript的类似XML的语法扩展,没有任何定义的语义

从上面的引用中可以看出,JSX没有定义语义,它只是JavaScript的一个扩展,它允许编写类似XML的代码以实现简单和优雅,然后将JSX转换为纯JavaScript函数调用React.createElement.根据React教程:

JSX是一个预处理器步骤,它为JavaScript添加了XML语法.你绝对可以在没有JSX的情况下使用React,但JSX使React更加优雅.

就像XML一样,JSX标签有标签名称,属性和子标签.如果属性值包含在引号中,则该值为字符串.否则,将值包装在大括号中,值是随附的JavaScript表达式.

JSX中的任何代码都转换为纯JavaScript/ECMAScript.考虑一个名为的组件Login.现在我们使用JSX渲染它:

<Login foo={...} bar={...} />
Run Code Online (Sandbox Code Playgroud)

如您所见,JSX只允许您为标记提供类似XML的语法,表示React中的组件和元素.它被转换为纯JavaScript:

React.createElement(Login, { foo: ..., bar: ... });
Run Code Online (Sandbox Code Playgroud)

您可以在文档中阅读更多内容.

  • 伙计,令人恼火的是,文档通常不以缩写词的实际含义开头。 (2认同)

小智 5

JSXJavaScript 代表语法扩展。它类似于 XML。您可以在 React 中使用简单的 JSX 语法转换。