En la transición de usar React con JavaScript a TypeScript, lo que más me costó fue escribir correctamente mis ganchos y pasarlos como accesorios.
¿Cómo es posible que algo tan simple en JavaScript me dé tantos problemas en TypeScript?
¡Con este artículo espero evitarles el dolor de cabeza que tuve que pasar antes de descubrir cómo funcionaban!
Lo primero es lo primero:
Cuando creamos un gancho, necesitamos pasar el tipo al que esperamos que se ajuste:
const [title, setTitle] = useState<string>(“”);
const [amount, setAmount ] = useState<number>(0);
const [Selected, setSelected] = useState<boolean>(false);
Primero, necesitamos crear un tipo que defina cómo debería verse nuestro objeto. Digamos que estamos tratando de albergar la información de una persona.
type Person = {
name: string;
address: string;
married: boolean;
}
const [person, setPerson] = useState<Person>({
name: “”,
address: “” ,
married: false
})
¿Qué pasa si queremos crear un gancho que albergue a una gran variedad de personas?
Eso es igual de sencillo:
const [people, setPeople] = useState<person[]>([])
La magia ocurre cuando escribimos los accesorios que nuestro componente secundario de TypeScript espera recibir. Aquí es cuando nuestros dos mejores amigos React.Dispatch y React.SetStateAction entran en juego.
Cuando llamamos a un gancho setState en un componente hijo, React envía un SetStateAction. Nuestro trabajo es simple: necesitamos proporcionar el tipo que defina cómo se ve la información dentro de SetStateAction.
type Props = {
people: people[];
setPeople: React.Dispatch<React.SetStateAction<people[]>>;
title: string;
setTitle: React.Dispatch<React.SetStateAction<string>>;
}
const ChildComponent: React.FC<Props> = ({people, setPeople, title, setTitle}) => { }
Introducción Un accidente cerebrovascular es una emergencia médica que puede afectar a cualquier persona en cualquier momento. Ocurre cuando se interrumpe el flujo de sangre a una parte del cerebro, lo que lleva a una pérdida repentina de la función cerebral.
Esta semana, recibí un correo electrónico de un miembro de la lista de correo electrónico diaria. Querían saber: ¿Qué recursos visita diariamente, semanalmente y mensualmente? ¡Gran pregunta! Estoy feliz de intentar compartir algunas ideas sobre mi flujo de trabajo y los principales recursos que uso.
Introducción: Bienvenidos, valientes lectores, a un viaje que nos llevará a las profundidades más oscuras de nuestro planeta. En este blog, profundizamos en el enigmático mundo de la Fosa de las Marianas, descubriendo sus secretos ocultos y descubriendo las verdades escalofriantes que se encuentran debajo de su superficie.
A menudo nos encontramos luchando para implementar lo que sabemos que es bueno para nosotros. Desde decirle a un ser querido que lo amamos hasta recordar hablar como un pirata, siempre habrá quienes digan que no hace falta un día, una semana o un mes de eventos porque ya están haciendo esas cosas.
La picazón en mi mano se extendió mientras negociaba con el librero local por otro libro. Este libro, como el resto que compré recientemente, encontraría su trono en mi pila de 'To Be Read' (TBR); y sin embargo, lo compré.
Para evitar ambigüedades se utilizarán los siguientes términos; autenticador; El teléfono móvil que se utiliza para realizar el inicio de sesión en el sitio web; El sitio web o la aplicación que el usuario está utilizando para realizar el servicio de solicitud de inicio de sesión; El proveedor que proporciona el servicio dado, por ejemplo