基于本TypeScript正式文档的这个问题
react模式将发出React.createElement,在使用前不需要经过JSX转换,输出将具有.js文件扩展名。 react本机模式相当于保存所有JSX,但是输出将有一个.js文件扩展名。
但是,我看过的所有教程都有它的反应模式:
"jsx": "react"虽然这是完美的,而且我甚至没有看到警告,但我想了解它是如何/为什么反应本地编译TSX并且能够在没有任何问题的情况下加载它们。
基本上:
react-native模式,当React本机支持react模式时?发布于 2017-08-16 22:29:49
在反应本地人出现之前,这个世界是美好而干净的:
| 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诞生了。
https://stackoverflow.com/questions/45723637
复制相似问题