Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript JSX模式应该是react还是react native?_Typescript_React Native - Fatal编程技术网

Typescript JSX模式应该是react还是react native?

Typescript JSX模式应该是react还是react native?,typescript,react-native,Typescript,React Native,这一问题的依据是: react模式将发出react.createElement,无需启动 在使用前通过JSX转换,输出将具有 .js文件扩展名 反应本机模式相当于 保留,因为它保留了所有JSX,但输出将有一个 .js文件扩展名 但是,我看过的所有教程都有它的反应模式: "jsx": "react" 虽然这很好地工作,我甚至没有看到警告,但我想了解React Native如何/为什么编译TSX,并且能够毫无问题地加载它们 基本上: 当react nativ

这一问题的依据是:

react模式将发出react.createElement,无需启动 在使用前通过JSX转换,输出将具有 .js文件扩展名

反应本机模式相当于 保留,因为它保留了所有JSX,但输出将有一个 .js文件扩展名

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

"jsx": "react"
虽然这很好地工作,我甚至没有看到警告,但我想了解React Native如何/为什么编译
TSX
,并且能够毫无问题地加载它们

基本上:

  • 当react native支持
    react
    模式时,为什么要创建
    react native
    模式
  • 是否有任何性能理由使用一个而不是另一个

  • 在React Native出现之前,世界是美好而干净的:

    | 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 Native说“我们将在.js文件中使用JSX语法!”,这很奇怪,因为这是非法的,但无论如何。因此,如果您正在用TypeScript编写React本机代码,您有时会希望TS获取
    .tsx
    输入文件,并生成仍然包含JSX语法的
    .js
    文件。因此JSX模式
    react native
    诞生了。

    必须热爱JavaScript意大利面世界(来自c#)。。。虽然这确实回答了第一个问题,但您能否解释一下,在
    react native
    中使用
    react
    模式是否会影响性能?