首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSX模式是反应模式还是反应模式?

JSX模式是反应模式还是反应模式?
EN

Stack Overflow用户
提问于 2017-08-16 21:57:32
回答 1查看 994关注 0票数 3

基于本TypeScript正式文档的这个问题

react模式将发出React.createElement,在使用前不需要经过JSX转换,输出将具有.js文件扩展名。 react本机模式相当于保存所有JSX,但是输出将有一个.js文件扩展名。

但是,我看过的所有教程都有它的反应模式:

代码语言:javascript
复制
"jsx": "react"

虽然这是完美的,而且我甚至没有看到警告,但我想了解它是如何/为什么反应本地编译TSX并且能够在没有任何问题的情况下加载它们。

基本上:

  1. 为什么要创建react-native模式,当React本机支持react模式时?
  2. 是否有任何性能上的理由来使用一个而另一个呢?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-16 22:29:49

在反应本地人出现之前,这个世界是美好而干净的:

代码语言:javascript
复制
| File Extension |  Has JSX Syntax  |  Has Type Annotations  |
--------------------------------------------------------------
|   .tsx         |       Yes        |          Yes           |
|   .ts          |       No         |          Yes           |
|   .jsx         |       Yes        |          No            |
|   .js          |       No         |          No            |

当TypeScript看到一个.tsx文件时,它可以决定是发出.jsx文件(在jsx: preserve下)还是.js文件(在jsx: react下)。不可能发出包含JSX语法的.js文件(因为JSX不是合法的JavaScript语法)。

然后React本机说:“我们将在.js文件中使用JSX语法!”这是奇怪的,因为它是非法的,但无论如何。因此,如果您在TypeScript中编写React,有时您希望TS接受.tsx输入文件,并生成仍然具有JSX语法的.js文件。因此,JSX模式react-native诞生了。

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45723637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档