Qwik
Model obnoviteľnosti Qwik znamená, že JavaScript sa vykonáva lenivým spôsobom — iba keď používateľ interaguje. Použite useVisibleTask$ na spustenie kódu, ktorý sa musí vykonať v prehliadači, keď sa komponent stane viditeľným.
@wink/elements npm balík Nainštalujte a načítajte CDN balík s typmi pre TypeScript.
Inštalácia
Section titled “Inštalácia”npm install @wink/elementsNačítanie s useVisibleTask$
Section titled “Načítanie s useVisibleTask$”useVisibleTask$ je Qwik hook životného cyklu pre kód, ktorý sa vykonáva iba v prehliadači a eager spôsobom. Umiestnite ho do vášho koreňového layoutu:
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> );});Použitie na stránke
Section titled “Použitie na stránke”import { component$ } from '@builder.io/qwik';
export default component$(() => { return ( <main> <wink-content-loader layout="HOTEL" id="YOUR_LAYOUT_ID" /> <wink-lookup /> </main> );});TypeScript — deklarujte JSX intrinsics
Section titled “TypeScript — deklarujte JSX intrinsics”Qwik používa vlastný JSX namespace. Rozšírte ho v deklaráčnom súbore:
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; } }}Premenné prostredia
Section titled “Premenné prostredia”Qwik (postavený na Vite) sprístupňuje prehliadaču premenné s prefixom PUBLIC_:
PUBLIC_WINK_CLIENT_ID=your-client-id