Diferencias de tipado:
- Explícito: Lo ves en el código
- Implícito: Lo sabes luego de ver o leer el código
Introducción
El presente del Frontend es TypeScript
Tipado implícito vs. tipado explícito
Creando una app con React y TypeScript
Tipado en React
Diferentes formas de definir un componente
El objeto props y children
State con tipos primitivos
State con tipos personalizados
React y el DOM
Tipos para eventos y callbacks de escuchadores
Tipos para referencias y observadores
Lazy loading con observadores
Componentes que extienden elementos DOM
Reto: sigamos extendiendo el DOM
Configuraciones avanzadas
Creando tipos propios para la aplicación
Trabajando con librerías no-tipadas
Trabajando con librerías que extienden el objeto window
Próximos pasos
¿Quieres más cursos de React con TypeScript?
Jonathan Alvarez
Aportes 8
Preguntas 0
Diferencias de tipado:
Existen muchas opiniones acerca si debemos devolver los tipos, ya como menciona la clase, se tiene el beneficio de predecir que se devolverá en un futuro. Pero puede haber una perdida de la “verdad”. En este video se explica el porqué varios desarrolladores con perfiles interesantes (CTO de vercel, desarrolladores de librerías como astro, trpc, react query, entre otros…) prefieren retornar tipos inferidos
Como opinión personal, en el 90% de los casos me gusta retornar los tipos inferidos a menos de que se trate de crear tipos para un contexto de React, o alguna función específica como ser las funciones de Next.js.
import { GetStaticProps } from 'next'
type Post = {
author: string
content: string
}
export const getStaticProps: GetStaticProps<{ posts: Post[] }> = async (
context
) => {
const res = await fetch('https://.../posts')
const posts: Post[] = await res.json()
return {
props: {
posts,
},
}
}
}
👀 Pero al final tú tienes la decisión final, me gustaría saber cuáles son tus opiniones acerca de especificar el tipo de retorno en las funciones o retornar los tipos inferidos
Los beneficios de Typescript no suelen verse en el momento sino más adelante en el desarrollo. Por ejemplo es más facil saber cuales son los props
y sus tipado de los componentes que vas a utilizar.
Aunque si admito que toma su tiempo y debes tener paciencia, por ejemplo yo tengo un interface
del estado global del Redux que armo a partir del initialState
en los reducers, lo cual no es facil de hacer pero que te facilita mucho las cosas más adelante
Vamos a darle xD
En el código, mientras más explícito seas, mejor, porque sabemos qué tipo de dato manejamos.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?