Upota yhteydenottolomake Reactiin, Vueen tai Angulariin
Web-komponentit ovat osa DOM:ia. Pudota tagi suoraan JSX:ään, Vue-templateihin tai Angular-komponentteihin — wrapperia ei tarvita.
<script src="https://cdn.toimii.io/components/your-code.js" async></script>
<toimii-contact></toimii-contact>
Vaihe vaiheelta
Yleiset sudenkuopat
Usein kysyttyä
Tarvitsenko React/Vue/Angular wrapper-komponentin?
Et. Web-komponentit ovat osa DOM-standardia — React, Vue ja Angular renderöivät tuntemattomat tagit tavallisena HTML:nä ja antavat selaimen hoitaa loput. Ei npm-pakettia, ei @types-tyyppejä, ei mitään asennettavaa.
Miten kerron TypeScriptille mukautetusta elementistä?
Lisää tämä global.d.ts-tiedostoon: declare namespace JSX { interface IntrinsicElements { 'toimii-contact': any } }. Lomake toimii ilmankin — TypeScript vain lakkaa valittamasta.
Miten välitän propseja tai konfiguraatiota?
Anna ne tavallisina HTML-attribuutteina. Web-komponentit lukevat attribuutteja DOM:ista samalla tavalla kuin React lukee propseja JSX:stä. Dynaamisille arvoille käytä refiä ja aseta ominaisuudet imperatiivisesti tarvittaessa.
Toimiiko Next.js:n, Remixin tai SvelteKit:n kanssa?
Kyllä. Next.js:ssä lisää script-tagi app/layout.tsx-tiedostoon (next/script-komponentilla) tai pages/_document.tsx-tiedostoon. Mukautettu elementti renderöityy client-puolella — käytä "use client" -boundaryä jos olet App Routerissa.
Entä server-side rendering?
Mukautettu elementti renderöityy client-puolella, kuten kaikki web-komponentit. SSR tulostaa tagin, selain rekisteröi elementin kun script latautuu, sitten lomake ilmestyy. Tyhjää tilaa vilahtaa hetken — yleensä huomaamaton.
Upotat eri alustalle?
Sama kaksi riviä koodia, jokaiselle alustalle eri ohjeet.
Valmis kokeilemaan?
30 päivän ilmainen kokeilu. Ei luottokorttia. Valmis minuuteissa.
Ei luottokorttia. Valmis kahdessa minuutissa.