Qwik
Qwiks resumability-model betyder, at JavaScript eksekveres doven — kun når brugeren interagerer. Brug useVisibleTask$ til at køre kode, der skal eksekveres i browseren, når komponenten bliver synlig.
@wink/elements npm package Installer og indlæs CDN-bundtet med TypeScript-typer.
Installér
Sektion kaldt “Installér”npm install @wink/elementsIndlæs med useVisibleTask$
Sektion kaldt “Indlæs med useVisibleTask$”useVisibleTask$ er Qwiks lifecycle hook til browser-only, hurtigt eksekveret kode. Placer den i dit root layout:
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> );});Brug på en side
Sektion kaldt “Brug på en side”import { component$ } from '@builder.io/qwik';
export default component$(() => { return ( <main> <wink-content-loader layout="HOTEL" id="YOUR_LAYOUT_ID" /> <wink-lookup /> </main> );});TypeScript — deklarér JSX intrinsics
Sektion kaldt “TypeScript — deklarér JSX intrinsics”Qwik bruger sit eget JSX namespace. Udvid det i en deklarationsfil:
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; } }}Miljøvariabler
Sektion kaldt “Miljøvariabler”Qwik (Vite-baseret) eksponerer variabler med præfikset PUBLIC_ til browseren:
PUBLIC_WINK_CLIENT_ID=your-client-id