Sintaxe de funções arrow com genéricos em TypeScript
Olá a todos! Sou novo em TypeScript e não consigo entender a sintaxe das funções arrow quando preciso usar genéricos (tipos genéricos).
Em funções normais, escrevo assim — funciona:
```typescript
function identity(arg: T): T {
return arg;
}
```
Mas quando tento fazer o mesmo com uma função arrow, o TypeScript dá erros. Tentei várias opções:
```typescript
// Opção 1 - erro
const identity = (arg: T): T => arg;
// Opção 2 - também não funciona
const identity = (arg: T): T => arg;
// Opção 3 - reclama do JSX
const identity = (arg: T): T => arg;
```
Especificamente em componentes React com JSX, fico completamente confuso. Quando escrevo `` dentro de JSX, o TypeScript pensa que é um elemento JSX, não um genérico. Como declarar corretamente funções arrow com genéricos em TypeScript? E há diferença na sintaxe para TypeScript comum e para arquivos com JSX (.tsx)?
Agradeço desde já pela ajuda!