【问题标题】:What is the difference between .ts and .tsx extensions. Both are used as extensions for typescript files in react. So where should we use them?.ts 和 .tsx 扩展名之间有什么区别。两者都用作 react 中打字稿文件的扩展。那么我们应该在哪里使用它们呢?
【发布时间】:2019-11-14 05:14:26
【问题描述】:

我是新手,我正在做一个项目。我遇到了.ts.tsx 扩展。我不明白应该在哪里使用.ts.tsx。非常感谢您对此的任何帮助。谢谢!

【问题讨论】:

标签: reactjs typescript


【解决方案1】:

对纯 TypeScript 文件使用 .ts

对包含 JSX 的文件使用 .tsx

例如,React 组件是 .tsx,但包含辅助函数的文件是 .ts

【讨论】:

  • 要添加到这个(正确的)答案,就像你在没有 TypeScript 的情况下做 React 一样,你会使用 .js 和 .jsx 来处理纯 javascript 和 JSX javascript 文件。
  • 不一定,你可以编写纯 TS React 组件,我将其改写为:一个包含“tag like”react 语法(实际上是 tsx)的 react 组件。只是为了向不真正了解它的人澄清这一点。
  • 完美答案!
【解决方案2】:

.tsx 用于在文件中嵌入 JSX 元素,而 .ts 用于普通 Typescript 文件,不支持添加 JSX 元素。

【讨论】:

    【解决方案3】:

    当您使用 .tsx 时,您可以在该特定文件中使用 JSX,而 .ts 会给您错误。

    【讨论】:

      【解决方案4】:

      以上所有答案都是正确的。

      .ts 文件只包含纯 TypeScript

      .tsx 也包含了 JSX。

      从另一个角度来看,您可以从.ts 文件中复制所有内容并粘贴到.tsx 文件中,而无需修改任何内容。但是,如果您从 .tsx 文件中复制,则需要通过删除 JSX 元素来重构它。

      【讨论】:

        猜你喜欢
        • 2011-08-20
        • 2021-02-08
        • 2014-07-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-10-10
        • 1970-01-01
        • 2012-08-11
        相关资源
        最近更新 更多