
Sprog 🇩🇰 Dansk
Dokumentation
Kom godt i gang
Brug
Konfiguration
Add Comments to Your SolidJS App
Dette er det officielle SolidJS-bibliotek til FastComments.
Integrer live-kommentarer, chat og anmeldelses-widgets i din SolidJS-app.
Arkiv
Live-demo 
Prøv hver widget live på https://fastcomments.com/commenting-system-for-solidjs.
Brug 
import { FastCommentsCommentWidget } from 'fastcomments-solidjs';
export default function App() {
return <FastCommentsCommentWidget tenantId="demo" urlId="some-page-id" />;
}
Reager på konfigurationsændringer (imperativ håndtering) 
Solid følger ikke automatisk dybe mutationer på vilkårlige objekter, så
konfigurationsændringer efter den første render skal skubbes eksplicit. Hvert widget
accepterer en apiRef som returnerer et håndtag; kald handle.update(partial) fra
et createEffect for at drive reaktivitet:
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() er sikkert at kalde når som helst:
- Before the script has loaded: the partial is stashed and applied at init.
- During an async init (reviews-summary, user-activity-feed): the partial is queued and applied when the callback resolves.
- After init: it forwards straight to the live widget's
.update()method.
Imperativt handle API
interface WidgetHandle<Config> {
getInstance: () => WidgetInstance | null; // seneste live-instans (eller null før mount)
onInstance: (cb: (instance: WidgetInstance) => void) => void; // kaldes når instansen er klar
update: (partial: Partial<Config>) => void; // slå config sammen og skub den
}
Brug getInstance() til imperative handlinger, som ikke dækkes af .update(), f.eks. openProfile:
const openProfile = () =>
(handle?.getInstance() as { openProfile?: (o: { userId: string }) => void } | null)
?.openProfile?.({ userId: 'demo' });
Komponenter 
Hver widget fra fastcomments-react er tilgængelig under samme navn:
| Component | Handle type | Embed loaded |
|---|---|---|
FastCommentsCommentWidget |
FastCommentsCommentWidgetHandle |
Flagship live-kommenterings-widget |
FastCommentsCommentCountWidget |
FastCommentsCommentCountWidgetHandle |
Inline badge med kommentarantal |
FastCommentsLiveChatWidget |
FastCommentsLiveChatWidgetHandle |
Streaming live-chat-widget |
FastCommentsCollabChatWidget |
FastCommentsCollabChatWidgetHandle |
Tekst-ankret samarbejds-chat |
FastCommentsImageChatWidget |
FastCommentsImageChatWidgetHandle |
Regionsbaserede billedkommentarer |
FastCommentsRecentCommentsWidget |
FastCommentsRecentCommentsWidgetHandle |
Feed med nylige kommentarer |
FastCommentsRecentDiscussionsWidget |
FastCommentsRecentDiscussionsWidgetHandle |
Feed med nylige diskussioner |
FastCommentsReviewsSummaryWidget |
FastCommentsReviewsSummaryWidgetHandle |
Opsummering af stjernebedømmelser |
FastCommentsTopPagesWidget |
FastCommentsTopPagesWidgetHandle |
Top-liste over mest kommenterede sider |
FastCommentsUserActivityFeedWidget |
FastCommentsUserActivityFeedWidgetHandle |
Per-bruger aktivitetstidslinje |
Widgets der tilknyttes et eksisterende element
FastCommentsCollabChatWidget og FastCommentsImageChatWidget monteres i et element leveret af kaldende kode. Pass en targetRef accessor som returnerer elementet, når det er monteret:
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}
/>
</>
);
}
Regioner
Angiv region="eu" for at rute widget-trafik gennem EU-klyngen.
Brug for hjælp?
Hvis du støder på problemer eller har spørgsmål om SolidJS-biblioteket, så:
Bidrag
Bidrag er velkomne! Besøg venligst GitHub-repositoriet for retningslinjer for bidrag.