Skip to main content

Ejemplos de tipado

1. Tipado en componentes

import { TouchableOpacity, Text } from "react-native";

// Definiendo un tipo de propiedades para un botón
type ButtonProps = {
label: string;
onPress: () => void;
};

const CustomButton: React.FC<ButtonProps> = ({ label, onPress }) => (
<TouchableOpacity onPress={onPress}>
<Text>{label}</Text>
</TouchableOpacity>
);
  • Type ButtonProps define el tipo de las props.
  • React.FC<ButtonProps> asegura que el componente espera esas props.

2. Tipado en useState

import { useState } from "react";

// Definiendo un tipo de usuario
type User = { name: string; age: number };
const [user, setUser] = useState<User | null>(null);

3. Tipado en useEffect

import { useState, useEffect } from "react";

const [userId, setUserId] = useState<number | null>(null);

useEffect(() => {
if (userId !== null) {
console.log(`Cargando datos para el usuario ${userId}`);
}
}, [userId]);

4. Tipado en requests a API

import { useEffect } from "react";

// Definiendo un tipo de usuario
type User = { id: number; name: string };

const fetchUser = async (): Promise<User> => {
const response = await fetch("https://api.example.com/user/1");
return response.json();
};

useEffect(() => {
fetchUser().then((user) => console.log(user.name));
}, []);