Preact
Το API του Preact είναι συμβατό με το React. Η ενσωμάτωση ακολουθεί το ίδιο μοτίβο — καλέστε το load() μία φορά κατά την εκκίνηση της εφαρμογής και μετά χρησιμοποιήστε τις ετικέτες <wink-*> στο JSX.
@wink/elements npm package Εγκαταστήστε και φορτώστε το CDN bundle με τύπους TypeScript.
Εγκατάσταση
Ενότητα με τίτλο «Εγκατάσταση»npm install @wink/elementsΦορτώστε μία φορά κατά την εκκίνηση της εφαρμογής
Ενότητα με τίτλο «Φορτώστε μία φορά κατά την εκκίνηση της εφαρμογής»import { useEffect } from 'preact/hooks';import { load } from '@wink/elements';
export function App() { useEffect(() => { load({ clientId: import.meta.env.VITE_WINK_CLIENT_ID }); }, []);
return <YourRoutes />;}Χρήση στο JSX
Ενότητα με τίτλο «Χρήση στο JSX»export function HotelsPage() { return ( <main> <wink-content-loader layout="HOTEL" id="YOUR_LAYOUT_ID" /> <wink-lookup /> </main> );}TypeScript — δηλώστε τα JSX intrinsics
Ενότητα με τίτλο «TypeScript — δηλώστε τα JSX intrinsics»Το namespace JSX του Preact είναι ξεχωριστό από αυτό του React. Επεκτείνετε το preact/src/jsx.d.ts:
import type { WinkContentLoaderAttributes, WinkLookupAttributes, WinkSearchButtonAttributes, WinkAccountButtonAttributes, WinkItineraryButtonAttributes, WinkShoppingCartButtonAttributes, WinkAppLoaderAttributes,} from '@wink/elements';
declare module 'preact' { namespace JSX { interface IntrinsicElements { 'wink-content-loader': WinkContentLoaderAttributes & preact.JSX.HTMLAttributes<HTMLElement>; 'wink-lookup': WinkLookupAttributes & preact.JSX.HTMLAttributes<HTMLElement>; 'wink-search-button': WinkSearchButtonAttributes & preact.JSX.HTMLAttributes<HTMLElement>; 'wink-account-button': WinkAccountButtonAttributes & preact.JSX.HTMLAttributes<HTMLElement>; 'wink-itinerary-button': WinkItineraryButtonAttributes & preact.JSX.HTMLAttributes<HTMLElement>; 'wink-shopping-cart-button': WinkShoppingCartButtonAttributes & preact.JSX.HTMLAttributes<HTMLElement>; 'wink-app-loader': WinkAppLoaderAttributes & preact.JSX.HTMLAttributes<HTMLElement>; } }}Preact με preact/compat
Ενότητα με τίτλο «Preact με preact/compat»Αν κάνετε alias το React σε preact/compat, χρησιμοποιήστε τις δηλώσεις JSX του React:
// Χρησιμοποιήστε τη δήλωση JSX του React από το /integrations/react// — το preact/compat επανεξάγει το namespace JSX του React