Qwik
Het resumability-model van Qwik betekent dat JavaScript lui wordt uitgevoerd — alleen wanneer de gebruiker interactie heeft. Gebruik useVisibleTask$ om code uit te voeren die in de browser moet draaien zodra het component zichtbaar wordt.
@wink/elements npm package Installeer en laad de CDN-bundel met TypeScript-typen.
Installeren
Section titled “Installeren”npm install @wink/elementsLaden met useVisibleTask$
Section titled “Laden met useVisibleTask$”useVisibleTask$ is de lifecycle hook van Qwik voor browser-only, eager uitvoering van code. Plaats het in je 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> );});Gebruik op een pagina
Section titled “Gebruik op een pagina”import { component$ } from '@builder.io/qwik';
export default component$(() => { return ( <main> <wink-content-loader layout="HOTEL" id="YOUR_LAYOUT_ID" /> <wink-lookup /> </main> );});TypeScript — declareer JSX intrinsics
Section titled “TypeScript — declareer JSX intrinsics”Qwik gebruikt een eigen JSX namespace. Breid deze uit in een declaratiebestand:
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; } }}Omgevingsvariabelen
Section titled “Omgevingsvariabelen”Qwik (Vite-gebaseerd) maakt variabelen met de prefix PUBLIC_ beschikbaar in de browser:
PUBLIC_WINK_CLIENT_ID=your-client-id