Todos parecen estar hablando de "tipos" en estos días. Desde el lenguaje TypeScript hasta utilidades de descripción de tipos como prop-types y Zod, los desarrolladores esperan descripciones claras de las formas de sus componentes React, datos y hooks. Hablemos sobre el cambio de mentalidad que ha ocurrido en la última década y hacia dónde nos llevan los tipos en la próxima.
Bases breves: qué es TypeScript, qué significa "seguridad de tipos" y cómo configurar TypeScript en un proyecto React (Next.js). Una historia de cómo ha funcionado la seguridad de tipos en React, comenzando con los componentes de clase.
Pensar en Tipo(s|Script): cómo modelar las formas de los valores ayuda a aumentar la previsibilidad y comprensión, especialmente en las arquitecturas más salvajes y locas de React.
Limitaciones de TypeScript: Por diseño, TypeScript solo puede actuar como un sistema de tipos en tiempo de desarrollo y hacer cumplir lo que ese sistema puede representar. Repasaremos lo que no se puede y/o no se debe representar en ese sistema de tipos.
Elevando el tiempo de ejecución: trasladar esos pensamientos sobre tipos a tiempo de ejecución de React con frameworks o bibliotecas programáticas como tRPC y Zod, especialmente cuando se integran con metaframeworks de React como Next.js y Remix.
Especificidades de React: cómo esta teoría de "tipos primero" ayuda a mejorar las partes comunes de los proyectos en el ecosistema de React: desde prop-types en el pasado hasta endpoints de REST o RPC, pruebas y documentación en la actualidad.
Reglas de linting de ESLint para detectar errores comunes de código asincrónico y React, y por qué el lenguaje está diseñado para permitirte hacer esas cosas peligrosas en primer lugar.
Futuro del ecosistema: dónde llevará y dónde no llevará la propuesta de tipos como comentarios del TC39 los tipos a nivel de lenguaje para JavaScript en general y aplicaciones de React en particular.
Al permitir que nuestros tipos sean un reflejo de la realidad en tiempo de ejecución, adoptamos el pensamiento de "tipos primero" en el diseño de código, lo que hace que nuestro código sea más claro de leer y actualizar. Estas fronteras mejor definidas ayudan en todo, desde límites de componentes React mejor definidos hasta puentes de API cliente<>servidor generados automáticamente. ¡Hurra por los tipos!
This talk has been presented at React Summit 2024, check out the latest edition of this React Conference.
Comments