इसे छोड़कर कंटेंट पर जाएं

Qwik

Qwik का resumability मॉडल मतलब जावास्क्रिप्ट आलस्य से चलता है — केवल जब उपयोगकर्ता इंटरैक्ट करता है। ब्राउज़र में कोड चलाने के लिए जो कंपोनेंट दिखाई देने पर निष्पादित होना चाहिए, useVisibleTask$ का उपयोग करें।

Terminal window
npm install @wink/elements

useVisibleTask$ के साथ लोड करें

Section titled “useVisibleTask$ के साथ लोड करें”

useVisibleTask$ Qwik का लाइफसायकल हुक है जो केवल ब्राउज़र में जल्दी निष्पादित होने वाला कोड चलाता है। इसे अपने रूट लेआउट में रखें:

src/routes/layout.tsx
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 “पेज पर उपयोग करें”
src/routes/hotels/index.tsx
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 namespace का उपयोग करता है। इसे एक घोषणा फ़ाइल में बढ़ाएं:

src/wink-elements.d.ts
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;
}
}
}

Qwik (Vite-आधारित) ब्राउज़र को PUBLIC_ से शुरू होने वाले वेरिएबल एक्सपोज़ करता है:

.env
PUBLIC_WINK_CLIENT_ID=your-client-id