Avatar ·

Como especificar tipos corretamente para useState no React com TypeScript?

Olá, colegas! Comecei a estudar TypeScript no React e imediatamente me deparei com um problema de tipagem do hook useState.\n\nTenho um componente simples com um formulário, onde preciso armazenar um objeto com os campos name e age. Aqui está como estou tentando fazer:\n\n```typescript\nconst [user, setUser] = useState({ name: '', age: 0 });\n```\n\nParece funcionar, mas quando quero passar esse state para outro componente ou função, o TypeScript reclama. Depois tentei especificar o tipo explicitamente:\n\n```typescript\ninterface User {\n name: string;\n age: number;\n}\n\nconst [user, setUser] = useState({ name: '', age: 0 });\n```\n\nAgora funciona, mas não entendo: é sempre necessário escrever o tipo explicitamente? E se meu state for um array? Ou se o state puder ser null? Tentei algo assim:\n\n```typescript\nconst [items, setItems] = useState