Pular para o conteúdo

Gatsby

Gatsby gera HTML estático no momento da build e reidrata no cliente. Scripts CDN devem ser carregados apenas em APIs do navegador — gatsby-browser.js é o local correto.

Terminal window
npm install @wink/elements

A API onClientEntry é executada uma vez assim que o runtime do Gatsby inicializa no navegador:

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

Gatsby expõe apenas variáveis prefixadas com GATSBY_ para o bundle do navegador:

.env.production
GATSBY_WINK_CLIENT_ID=seu-client-id
.env.development
GATSBY_WINK_CLIENT_ID=seu-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, então adicione as mesmas declarações intrínsecas JSX da integração React:

src/wink-elements.d.ts
// Veja /integrations/react para o arquivo completo de declaração

Você não precisa modificar gatsby-ssr.js. As tags <wink-*> são renderizadas como elementos HTML simples na saída estática, e o script CDN as atualiza quando o navegador carrega a página.