
Језик 🇲🇪 Српски (Црна Гора)
Документација
Почетак
Коришћење
Конфигурација
Add Comments to Your SolidJS App
Ово је званична SolidJS библиотека за FastComments.
Уградите видџете за уживо коментарисање, ћаскање и рецензије у вашу SolidJS апликацију.
Репозиторијум
Уживо демо 
Пробајте сваки видгет уживо на https://fastcomments.com/commenting-system-for-solidjs.
Коришћење 
import { FastCommentsCommentWidget } from 'fastcomments-solidjs';
export default function App() {
return <FastCommentsCommentWidget tenantId="demo" urlId="some-page-id" />;
}
Реаговање на промене конфигурације (императивни приступ) 
Solid аутоматски не прати дубоке мутције на произвољним објектима, тако да
промене конфигурације након првог рендера морају бити потиснуте експлицитно. Сваки видгет
прихвата apiRef који враћа хендл; позовите handle.update(partial) из
createEffect да бисте покренули реактивност:
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() је безбедно позивати у било које време:
- Пре него што се скрипта учита: делимични подаци се привремено чувају и примењују при иницијализацији.
- Током асинхроне иницијализације (reviews-summary, user-activity-feed): делимични подаци се стављају у ред и примењују када се повратни позив разреши.
- Након иницијализације: он директно прослеђује живом видгету његову
.update()методу.
Императивни API хендла
interface WidgetHandle<Config> {
getInstance: () => WidgetInstance | null; // најновија жива инстанца (или null пре монтаже)
onInstance: (cb: (instance: WidgetInstance) => void) => void; // позива се једном када је инстанца спремна
update: (partial: Partial<Config>) => void; // споји и пошаље конфигурацију
}
Користите getInstance() за императивне акције које нису обухваћене .update(), нпр. openProfile:
const openProfile = () =>
(handle?.getInstance() as { openProfile?: (o: { userId: string }) => void } | null)
?.openProfile?.({ userId: 'demo' });
Компоненте 
Svaki widget iz fastcomments-react dostupan je pod istim imenom:
| Komponenta | Tip handle-a | Ugrađeni sadržaj |
|---|---|---|
FastCommentsCommentWidget |
FastCommentsCommentWidgetHandle |
Glavni widget za komentarisanje uživo |
FastCommentsCommentCountWidget |
FastCommentsCommentCountWidgetHandle |
Ugrađena oznaka broja komentara |
FastCommentsLiveChatWidget |
FastCommentsLiveChatWidgetHandle |
Widget za streaming chat uživo |
FastCommentsCollabChatWidget |
FastCommentsCollabChatWidgetHandle |
Kolaborativni chat vezan za tekst |
FastCommentsImageChatWidget |
FastCommentsImageChatWidgetHandle |
Komentari na slici vezani za regije |
FastCommentsRecentCommentsWidget |
FastCommentsRecentCommentsWidgetHandle |
Tok nedavnih komentara |
FastCommentsRecentDiscussionsWidget |
FastCommentsRecentDiscussionsWidgetHandle |
Tok nedavnih diskusija |
FastCommentsReviewsSummaryWidget |
FastCommentsReviewsSummaryWidgetHandle |
Sažetak ocjena sa zvjezdicama |
FastCommentsTopPagesWidget |
FastCommentsTopPagesWidgetHandle |
Lista najkomentisanijih stranica |
FastCommentsUserActivityFeedWidget |
FastCommentsUserActivityFeedWidgetHandle |
Vremenska linija aktivnosti po korisniku |
Widgeti koji se montiraju u postojeći element
FastCommentsCollabChatWidget i FastCommentsImageChatWidget se montiraju u element koji obezbijedi pozivalac. 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" da usmjerite saobraćaj widgeta kroz EU klaster.
Trebate pomoć?
Ako naiđete na bilo kakve probleme ili imate pitanja u vezi sa SolidJS bibliotekom, molimo:
Doprinosi
Doprinosi su dobrodošli! Molimo posjetite GitHub repozitorij za smjernice o doprinosu.