Skip to content

Gatsby

Gatsby генерира статичен HTML по време на компилация и го реактивира на клиента. CDN скриптовете трябва да се зареждат само в браузърни API — gatsby-browser.js е правилното място.

Terminal window
npm install @wink/elements

Зареждане чрез gatsby-browser.js

Section titled “Зареждане чрез gatsby-browser.js”

API-то onClientEntry се изпълнява веднъж веднага щом средата на Gatsby се инициализира в браузъра:

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

Gatsby предоставя на браузърния пакет само променливи с префикс GATSBY_:

.env.production
GATSBY_WINK_CLIENT_ID=your-client-id
.env.development
GATSBY_WINK_CLIENT_ID=your-client-id

Използване в страници и компоненти

Section titled “Използване в страници и компоненти”
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 използва React, затова добавете същите JSX вътрешни декларации като при React интеграцията:

src/wink-elements.d.ts
// Вижте /integrations/react за пълния файл с декларации

gatsby-ssr.js — не са необходими промени

Section titled “gatsby-ssr.js — не са необходими промени”

Не е нужно да променяте gatsby-ssr.js. Таговете <wink-*> се рендерират като обикновени HTML елементи в статичния изход, а CDN скриптът ги обновява, когато браузърът зареди страницата.