Hooks con TypeScript
Volver a clases
Desarrollo MóvilPrincipiante

Hooks con TypeScript

120 min

Uso de useState, useEffect y custom hooks tipados en apps móviles.

useState y useEffect

typescript
1const [count, setCount] = useState(0);
2const [name, setName] = useState<string>("Juan");
3const [user, setUser] = useState<User | null>(null);
4useEffect(() => {
5  /* ... */
6}, []);

Custom Hooks

typescript
1function useToggle(initialValue: boolean = false): [boolean, () => void] {
2  const [value, setValue] = useState(initialValue);
3  const toggle = () => setValue((v) => !v);
4  return [value, toggle];
5}

Ejemplos de Código

3 ejemplos

Destructuring y Spread

javascript
1const user = {
2  name: "María",
3  age: 25,
4  email: "maria@example.com",
5  location: "Madrid",
6};
7const { name, email } = user;
8const { name: userName, age: userAge } = user;

Métodos de Arrays

javascript
1const products = [
2  { id: 1, name: "iPhone", price: 999, category: "electronics" },
3  { id: 2, name: "Camisa", price: 29, category: "clothing" },
4  { id: 3, name: "iPad", price: 599, category: "electronics" },
5];
6const productNames = products.map((p) => p.name);

useToggle Hook

javascript
1function useToggle(initialValue: boolean = false): [boolean, () => void] {
2  const [value, setValue] = useState(initialValue);
3  const toggle = () => setValue((v) => !v);
4  return [value, toggle];
5}

Recursos

4 recursos disponibles

Taller Práctico

TallerIntermedio60 min🟡 IA con bitácora

Proyecto de la Semana

Lista de Tareas con TypeScript

Crea una app de tareas con tipado fuerte, hooks y manejo de estado. Debe permitir agregar, completar y eliminar tareas.

Documentación Oficial

DocumentaciónPrincipiante30 min

Documentación útil

Desafío de Código

EjercicioIntermedio30 min🔴 Sin IA

Ejercicios

  1. Refactoriza componentes a TypeScript.
  2. Agrega validación de tipos en props.
  3. Implementa un custom hook para filtrar tareas.
  4. Añade persistencia local (AsyncStorage).

Reto de Lectura

Reto de LecturaPrincipiante60 min🟢 IA requerida

Auditoría IA #1 — El componente con hooks generado

Primera auditoría del semestre: genera con tu IA un componente RN con estado tipado y destrózalo con la checklist — hábitos web, tipos que mienten y estado mal manejado.

Paso 1 — Genera (10 min). Pídele a tu IA:

"Hazme un componente de React Native con TypeScript que muestre una lista de tareas con contador de completadas, usando useState, con estilos"

Paso 2 — Audita (40 min):

#CapaPregunta clave
1Hábitos web (S1)¿Se coló un div, un onClick, un px-string, un CSS?
2Estructura RN (S2)¿Todo texto en <Text>? ¿El contenedor tiene flex: 1? ¿Estilos en camelCase con StyleSheet?
3Tipos (S4)¿Hay any, as o !? ¿El estado tiene tipo explícito (useState<Tarea[]>) o infirió never[]?
4Estado¿Muta el array o construye uno nuevo? ¿El contador es estado aparte (redundante) o se calcula del array?
5SabotajeCórrelo en Expo Snack. Marca y desmarca rápido varias tareas: ¿el contador siempre cuadra?

Paso 3 — Informe (entregable): prompt exacto, 3+ hallazgos con línea y consecuencia, tu versión corregida corriendo en Snack, y qué le pedirías distinto al prompt la próxima vez.