Avatar ·

Quando usar JSX.Element, ReactNode e ReactElement em TypeScript com React?

Olá! Comecei a estudar TypeScript junto com React e constantemente me confundo com os tipos para descrever o que pode ser retornado de um componente ou passado como children. Na internet encontro frequentemente três tipos: `JSX.Element`, `ReactNode` e `ReactElement`. Mas quando usar qual — é um mistério para mim. Por exemplo, estou escrevendo um componente wrapper: ```typescript interface WrapperProps { children: ??? // O que colocar aqui? } ``` Ou quando quero especificar explicitamente o tipo do valor de retorno de uma função componente: ```typescript const MyComponent = (): ??? => { return
Hello
; }; ``` Tentei usar `ReactNode`, mas então o TypeScript reclama quando tento passar algo como um array de componentes. Depois tentei `JSX.Element` — parece funcionar, mas não tenho certeza se está correto. E p