Qwik
Модель відновлюваності Qwik означає, що JavaScript виконується ліниво — лише коли користувач взаємодіє. Використовуйте useVisibleTask$, щоб запускати код, який має виконуватися в браузері, коли компонент стає видимим.
@wink/elements npm package Встановіть і завантажте CDN-бандл з типами TypeScript.
Встановлення
Section titled “Встановлення”npm install @wink/elementsЗавантаження з useVisibleTask$
Section titled “Завантаження з useVisibleTask$”useVisibleTask$ — це хук життєвого циклу Qwik для коду, який виконується лише в браузері і запускається одразу. Розмістіть його у вашому кореневому лейауті:
import { component$, useVisibleTask$ } from '@builder.io/qwik';import { load } from '@wink/elements';
export default component$(() => { useVisibleTask$(() => { load({ clientId: import.meta.env.PUBLIC_WINK_CLIENT_ID }); });
return ( <main> <Slot /> </main> );});Використання на сторінці
Section titled “Використання на сторінці”import { component$ } from '@builder.io/qwik';
export default component$(() => { return ( <main> <wink-content-loader layout="HOTEL" id="YOUR_LAYOUT_ID" /> <wink-lookup /> </main> );});TypeScript — оголошення JSX інтринсиків
Section titled “TypeScript — оголошення JSX інтринсиків”Qwik використовує власний простір імен JSX. Розширте його у файлі декларації:
import type { WinkContentLoaderAttributes, WinkLookupAttributes, WinkSearchButtonAttributes, WinkAccountButtonAttributes, WinkItineraryButtonAttributes, WinkShoppingCartButtonAttributes, WinkAppLoaderAttributes,} from '@wink/elements';
declare module '@builder.io/qwik' { namespace JSX { interface IntrinsicElements { 'wink-content-loader': WinkContentLoaderAttributes; 'wink-lookup': WinkLookupAttributes; 'wink-search-button': WinkSearchButtonAttributes; 'wink-account-button': WinkAccountButtonAttributes; 'wink-itinerary-button': WinkItineraryButtonAttributes; 'wink-shopping-cart-button': WinkShoppingCartButtonAttributes; 'wink-app-loader': WinkAppLoaderAttributes; } }}Змінні середовища
Section titled “Змінні середовища”Qwik (на базі Vite) робить змінні з префіксом PUBLIC_ доступними в браузері:
PUBLIC_WINK_CLIENT_ID=your-client-id