JSX 代表什么?

新手上路,请多包涵

JSX 代表什么?

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

原文由 user2977636 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 316
2 个回答

JSX 代表 J ava S cript X ML 。对于 React,它是对元素和组件的类 XML 代码的扩展。根据 React 文档以及您提到的:

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

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

JSX 是将 XML 语法添加到 JavaScript 的预处理器步骤。你当然可以在没有 JSX 的情况下使用 React,但 JSX 使 React 更加优雅。

就像 XML 一样,JSX 标签有标签名称、属性和子标签。如果属性值用引号引起来,则该值为字符串。否则,将值括在大括号中,该值是封闭的 JavaScript 表达式。

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

 <Login foo={...} bar={...} />

如您所见,JSX 只允许您使用类似于 XML 的标记语法,代表 React 中的组件和元素。它被转换为纯 JavaScript:

 React.createElement(Login, { foo: ..., bar: ... });

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

原文由 Andrew Li 发布,翻译遵循 CC BY-SA 4.0 许可协议

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

原文由 nadun 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题