Przejdź do głównej zawartości

Gatsby

Gatsby generuje statyczny HTML podczas budowania i odświeża go po stronie klienta. Skrypty CDN muszą być ładowane tylko w API przeglądarki — gatsby-browser.js to właściwe miejsce.

Okno terminala
npm install @wink/elements

API onClientEntry uruchamia się raz, gdy tylko środowisko Gatsby zostanie zainicjalizowane w przeglądarce:

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

Gatsby udostępnia do pakietu przeglądarki tylko zmienne z prefiksem GATSBY_:

.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 używa React, więc dodaj te same deklaracje JSX intrinsic co w integracji React:

src/wink-elements.d.ts
// Zobacz /integrations/react dla pełnego pliku deklaracji

Nie musisz modyfikować gatsby-ssr.js. Tag <wink-*> renderuje się jako zwykłe elementy HTML w statycznym wyjściu, a skrypt CDN uaktualnia je, gdy przeglądarka załaduje stronę.