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:
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Docker y Kotlin: contenerización de aplicaciones para desarrolladores
Concurrencia y multihilo en Rust: técnicas avanzadas
Cómo convertir int a string en Go: guía completa con ejemplos
¿Por qué es tan difícil poner en mayúscula la primera letra de una cadena en Rust?