Avatar ·

Quais as diferenças entre as extensões .ts e .tsx no TypeScript para React?

Olá a todos! Recentemente comecei a estudar TypeScript em conjunto com React e me deparei com uma situação que não entendi. Quando crio componentes, vejo que nos projetos são usadas duas extensões diferentes: `.ts` e `.tsx`. Por exemplo, tenho um arquivo `Button.ts` e um arquivo `App.tsx`. Ambos contêm código TypeScript, mas quando tento escrever JSX dentro do arquivo `.ts`, o editor de código reclama, e ao renomear para `.tsx` tudo funciona. Aqui está um exemplo do meu código que não funciona em `Button.ts`: ```typescript import React from 'react'; interface ButtonProps { label: string; onClick: () => void; } // Erro: JSX não é suportado em arquivos .ts const Button: React.FC = ({ label, onClick }) => { return ; }; ``` E este mesmo código funciona perfeitamente se o arquivo for salvo como `Button.tsx`. Também notei que alguns dos meus colegas usam `.ts` para utilitários simples e tipos, e `.tsx` apenas para componentes com marcação. Mas existe alguma regra