Avatar ·

Cómo especificar correctamente los tipos para useState en React con TypeScript

¡Hola, colegas! Empecé a estudiar TypeScript en React y de inmediato me encontré con el problema del tipado del hook useState. Tengo un componente simple con un formulario donde necesito almacenar un objeto con los campos name y age. Así es como intento hacerlo: ```typescript const [user, setUser] = useState({ name: '', age: 0 }); ``` Parece que funciona, pero cuando quiero pasar este state a otro componente o función, TypeScript se queja. Luego probé a especificar el tipo explícitamente: ```typescript interface User { name: string; age: number; } const [user, setUser] = useState({ name: '', age: 0 }); ``` Ahora funciona, pero no entiendo: ¿siempre es necesario escribir el tipo explícitamente? ¿Y si mi state es un array? ¿O si el state puede ser null? Probé esto: ```typescript const [items, setItems] = useState([]); // TypeScript infiere never[], ¡y no puedo agregar elementos! ``` Y otra pregunta: ¿cómo tipar correctamente la función setUser si la paso a un componente hijo? Probé escribiendo `setUser: