Hola, hoy quiero hablarles sobre la Composición de Componentes Suspenseful. Mi nombre es Simeon Griggs. Soy un Educador Principal en Sanity. Puede que conozcan Sanity como un CMS o un Sistema Operativo de Contenidos. Pueden encontrar más información en sanity.io. Pero antes que nada, quiero ver algunas de las publicaciones de blog que he escrito.
Si desean ver esto, hay más detalles en ellas. Primero que nada, esta publicación de blog sobre el problemático prop de Suspenseful, es por eso que el prop de fallback en el componente suspense es tan fácil de crear un cambio de diseño, hay algo en el diseño de la API que se presta para eso. Además, tengo una publicación de blog explorando el componente de actividad, que acaba de salir de React experimental y ahora es estable, lo cual es muy genial también. No cubriré eso hoy, pero esa publicación de blog cubre más sobre eso.
La experiencia que he tenido trabajando con la obtención de datos suspenseful proviene en gran medida del Sanity App SDK, al que pueden ir y tomar otro curso si desean explorar más también. Y eso es lo que voy a estar demostrando hoy. Tiene una biblioteca de obtención de datos habilitada para suspense, pero hay muchas maneras de trabajar con datos suspenseful en una aplicación React. Entonces, ¿qué es suspense? Es una parte relativamente nueva de React si no lo han usado antes. Es una forma de capturar un límite alrededor de elementos si están obteniendo datos. También es una forma de cargar componentes de manera diferida para la división de código. Así que tiene algunos usos particulares, pero esto es lo que ven cuando van a la documentación de React sobre suspense.
Ven suspense envuelto alrededor de algún componente con un prop de fallback. Y así, cuando algún componente se está cargando, lanzará esa promesa a este límite de suspense más externo, y renderizará el componente de fallback en su lugar. Y esto es muy simple. Y este es un gran ejemplo porque es así de simple de implementar, pero ese algún componente allí, si no tienen cuidado, puede realmente renderizar un cambio de diseño muy fácilmente. Así que voy a demostrar esto en una aplicación simple que hace su propia obtención de datos. Vamos a ver la demostración ahora. Así que en el lado izquierdo, tengo mi aplicación básica aquí con el proveedor de SDK. Eso solo configura algunas cosas para la obtención de datos. Y tengo mi componente de diseño allí, que está renderizando esta aplicación de tabla en el lado derecho aquí. He deshabilitado la caché en mis configuraciones de red aquí porque el Sanity App SDK contiene su propia caché del lado del navegador, y no quiero que se muestre. Así que algunas de estas obtenciones pueden parecer lentas, pero eso es porque estamos obteniendo deliberadamente desde la fuente cada vez. Así que si recargo la página, ¿cómo se ve ahora? Obtengo un gran componente de carga en su mayoría, y luego, una vez que todo está cargado, todo aparece de golpe. Y así es como se ve hacer la implementación más básica de suspense.
Comments