Ir al contenido

Gatsby

Gatsby genera HTML estático en tiempo de compilación y se hidrata en el cliente. Los scripts CDN deben cargarse solo en APIs del navegador — gatsby-browser.js es el lugar correcto.

Ventana de terminal
npm install @wink/elements

La API onClientEntry se ejecuta una vez tan pronto como el runtime de Gatsby se inicializa en el navegador:

gatsby-browser.js
import { load } from '@wink/elements';
export function onClientEntry() {
load({ clientId: process.env.GATSBY_WINK_CLIENT_ID });
}

Gatsby expone solo variables con prefijo GATSBY_ al paquete del navegador:

.env.production
GATSBY_WINK_CLIENT_ID=your-client-id
.env.development
GATSBY_WINK_CLIENT_ID=your-client-id
src/pages/hotels.tsx
import React from 'react';
export default function HotelsPage() {
return (
<main>
<wink-content-loader layout="HOTEL" id="YOUR_LAYOUT_ID" />
<wink-lookup />
</main>
);
}

Gatsby usa React, así que añade las mismas declaraciones intrínsecas JSX que la integración de React:

src/wink-elements.d.ts
// Consulta /integrations/react para el archivo completo de declaración

No necesitas modificar gatsby-ssr.js. Las etiquetas <wink-*> se renderizan como elementos HTML simples en la salida estática, y el script CDN las actualiza cuando el navegador carga la página.