Fetching de datos
Los archivos .astro
pueden obtener datos remotos para ayudarte a generar tus páginas.
fetch()
en Astro
Sección titulada fetch() en AstroTodos los componentes de Astro tienen acceso a la función global fetch()
en su script de componente para hacer peticiones HTTP a APIs usando la URL completa (p.ej. https://example.com/api).
Adicionalmente, puedes construir una URL a las páginas y endpoints de tu proyecto que se renderizan bajo demanda en el servidor utilizando new URL("/api", Astro.url)
.
Esta llamada a fetch será ejecutada en el momento de la compilación, y los datos estarán disponibles para la plantilla del componente para generar HTML dinámico. Si el modo SSR (EN) está habilitado, cualquier llamada a fetch será ejecutada en tiempo de ejecución.
💡 Aprovecha el top-level await dentro del script del componente de Astro.
💡 Puedes pasar los datos obtenidos a los componentes de Astro u otros UI frameworks como props.
Recuerda, todos los datos en los componentes de Astro se obtienen cuando se renderiza el componente.
Cuando tu proyecto de Astro es desplegado obtendrá los datos una vez, en el momento de la compilación. En desarrollo, verás el fetching de datos al actualizar los componentes. Si necesitas hacer fetching datos varias veces del lado del cliente, usa un componente de framework o un script del lado del cliente en el componente de Astro.
fetch()
en componentes de framework
Sección titulada fetch() en componentes de frameworkLa función fetch()
también está disponible globalmente para cualquier componente de framework:
Consultas en GraphQL
Sección titulada Consultas en GraphQLAstro también puede usar fetch()
para consultar a un servidor GraphQL con cualquier query de GraphQL válida.
Fetching de datos desde un Headless CMS
Sección titulada Fetching de datos desde un Headless CMSLos componentes de Astro pueden obtener datos desde tu CMS favorito y luego renderizarlos como contenido en tu página. Usando rutas dinámicas, los componentes pueden generar páginas basadas en el contenido obtenido del CMS.
Ve nuestras guías de CMS para obtener más detalles sobre cómo integrar Astro con un headless CMS incluyendo Stroyblok, Contentful y WordPress.