
Jezik 🇭🇷 Hrvatski
Dokumentacija
Početak rada
Korištenje
Konfiguracija
Add Comments to Your SolidJS App
Ovo je službena SolidJS knjižnica za FastComments.
Ugradite widgete za komentare uživo, chat i recenzije u vašu SolidJS aplikaciju.
Repozitorij
Demo uživo 
Isprobajte svaki widget uživo na https://fastcomments.com/commenting-system-for-solidjs.
Korištenje 
import { FastCommentsCommentWidget } from 'fastcomments-solidjs';
export default function App() {
return <FastCommentsCommentWidget tenantId="demo" urlId="some-page-id" />;
}
Reagiranje na promjene konfiguracije (imperativni pristup) 
Solid automatski ne prati duboke mutacije na proizvoljnim objektima, stoga promjene konfiguracije nakon prvog renderiranja moraju biti eksplicitno poslane. Svaki widget prihvaća apiRef koji vraća handle; pozovite handle.update(partial) iz createEffect kako biste potaknuli reaktivnost:
import { createEffect, createSignal } from 'solid-js';
import { FastCommentsCommentWidget, type FastCommentsCommentWidgetHandle } from 'fastcomments-solidjs';
export default function Paginated() {
const [page, setPage] = createSignal(0);
let handle: FastCommentsCommentWidgetHandle | undefined;
createEffect(() => handle?.update({ urlId: `product-${page()}` }));
return (
<>
<button onClick={() => setPage(page() + 1)}>next</button>
<FastCommentsCommentWidget
apiRef={(h) => (handle = h)}
tenantId="demo"
urlId={`product-${page()}`}
/>
</>
);
}
update() je sigurno pozvati u bilo kojem trenutku:
- Prije nego što se skripta učita: djelomični podaci se pohranjuju i primjenjuju pri inicijalizaciji.
- Tijekom asinhrone inicijalizacije (reviews-summary, user-activity-feed): djelomični podaci se stavljaju u red i primjenjuju kada se callback riješi.
- Nakon inicijalizacije: on ih prosljeđuje izravno metodi
.update()aktivnog widgeta.
Imperativni handle API
interface WidgetHandle<Config> {
getInstance: () => WidgetInstance | null; // zadnja aktivna instanca (ili null prije mount)
onInstance: (cb: (instance: WidgetInstance) => void) => void; // poziva se jednom kada je instanca spremna
update: (partial: Partial<Config>) => void; // spoji i pošalji konfiguraciju
}
Koristite getInstance() za imperativne akcije koje nisu pokrivene s .update(), npr. openProfile:
const openProfile = () =>
(handle?.getInstance() as { openProfile?: (o: { userId: string }) => void } | null)
?.openProfile?.({ userId: 'demo' });
Komponente 
Svaki widget iz fastcomments-react dostupan je pod istim imenom:
| Component | Handle type | Embed loaded |
|---|---|---|
FastCommentsCommentWidget |
FastCommentsCommentWidgetHandle |
Glavni widget za komentare uživo |
FastCommentsCommentCountWidget |
FastCommentsCommentCountWidgetHandle |
Inline bedž s brojačem komentara |
FastCommentsLiveChatWidget |
FastCommentsLiveChatWidgetHandle |
Streaming widget za chat uživo |
FastCommentsCollabChatWidget |
FastCommentsCollabChatWidgetHandle |
Kolaborativni chat vezan za tekst |
FastCommentsImageChatWidget |
FastCommentsImageChatWidgetHandle |
Komentari na slici temeljeni na regijama |
FastCommentsRecentCommentsWidget |
FastCommentsRecentCommentsWidgetHandle |
Feed nedavnih komentara |
FastCommentsRecentDiscussionsWidget |
FastCommentsRecentDiscussionsWidgetHandle |
Feed nedavnih rasprava |
FastCommentsReviewsSummaryWidget |
FastCommentsReviewsSummaryWidgetHandle |
Sažetak ocjena zvjezdicama |
FastCommentsTopPagesWidget |
FastCommentsTopPagesWidgetHandle |
Ljestvica najkomentiranijih stranica |
FastCommentsUserActivityFeedWidget |
FastCommentsUserActivityFeedWidgetHandle |
Vremenska linija aktivnosti korisnika |
Widgets that attach to an existing element
FastCommentsCollabChatWidget i FastCommentsImageChatWidget se montiraju u element koji pozivatelj osigura. Proslijedite accessor targetRef koji vraća element nakon što je montiran:
import { FastCommentsImageChatWidget } from 'fastcomments-solidjs';
export default function ImageChat() {
let img: HTMLImageElement | undefined;
return (
<>
<img ref={img} src="/screenshot.png" alt="" />
<FastCommentsImageChatWidget
tenantId="demo"
urlId="my-image"
targetRef={() => img}
/>
</>
);
}
Regije
Proslijedite region="eu" kako biste usmjerili promet widgeta kroz EU klaster.
Trebate pomoć?
Ako naiđete na bilo kakve probleme ili imate pitanja u vezi biblioteke SolidJS, molimo:
Doprinosi
Doprinosi su dobrodošli! Posjetite GitHub repozitorij za smjernice o doprinosima.