
Γλώσσα 🇨🇾 Ελληνικά (Κύπρος)
Τεκμηρίωση
Ξεκινώντας
Χρήση
Διαμόρφωση
Add Comments to Your SolidJS App
Αυτή είναι η επίσημη βιβλιοθήκη SolidJS για το FastComments.
Ενσωματώστε λειτουργίες ζωντανού σχολιασμού, συνομιλίας και widget αξιολογήσεων στην εφαρμογή SolidJS σας.
Αποθετήριο
Ζωντανή επίδειξη 
Δοκιμάστε κάθε widget ζωντανά στο 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 δεν παρακολουθεί αυτόματα βαθιές μεταβολές σε αυθαίρετα αντικείμενα, οπότε οι αλλαγές στο config μετά το πρώτο render πρέπει να προωθούνται ρητά. Κάθε widget δέχεται ένα apiRef που επιστρέφει ένα handle· καλέστε 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() είναι ασφαλές να κληθεί οποιαδήποτε στιγμή:
- Πριν το script φορτωθεί: το partial αποθηκεύεται προσωρινά και εφαρμόζεται κατά το init.
- Κατά τη διάρκεια ενός ασύγχρονου init (reviews-summary, user-activity-feed): το partial τίθεται σε ουρά και εφαρμόζεται όταν η callback επιλυθεί.
- Μετά το init: προωθείται απευθείας στη μέθοδο
.update()του ζωντανού widget.
Επιτακτικό API χειρολαβής
interface WidgetHandle<Config> {
getInstance: () => WidgetInstance | null; // πιο πρόσφατη ζωντανή instance (ή null πριν το mount)
onInstance: (cb: (instance: WidgetInstance) => void) => void; // εκτελείται μόλις η instance είναι έτοιμη
update: (partial: Partial<Config>) => void; // συγχώνευση και ώθηση config
}
Χρησιμοποιήστε getInstance() για επιτακτικές ενέργειες που δεν καλύπτονται από .update(), π.χ. openProfile:
const openProfile = () =>
(handle?.getInstance() as { openProfile?: (o: { userId: string }) => void } | null)
?.openProfile?.({ userId: 'demo' });
Συστατικά 
Κάθε widget από το fastcomments-react είναι διαθέσιμο με το ίδιο όνομα:
| Component | Handle type | Embed loaded |
|---|---|---|
FastCommentsCommentWidget |
FastCommentsCommentWidgetHandle |
Κύριο widget για ζωντανά σχόλια |
FastCommentsCommentCountWidget |
FastCommentsCommentCountWidgetHandle |
Ενσωματωμένη ένδειξη πλήθους σχολίων |
FastCommentsLiveChatWidget |
FastCommentsLiveChatWidgetHandle |
Widget ζωντανής συνομιλίας με streaming |
FastCommentsCollabChatWidget |
FastCommentsCollabChatWidgetHandle |
Συνεργατική συνομιλία αγκυρωμένη στο κείμενο |
FastCommentsImageChatWidget |
FastCommentsImageChatWidgetHandle |
Σχόλια εικόνας βασισμένα σε περιοχές |
FastCommentsRecentCommentsWidget |
FastCommentsRecentCommentsWidgetHandle |
Ροή πρόσφατων σχολίων |
FastCommentsRecentDiscussionsWidget |
FastCommentsRecentDiscussionsWidgetHandle |
Ροή πρόσφατων συζητήσεων |
FastCommentsReviewsSummaryWidget |
FastCommentsReviewsSummaryWidgetHandle |
Σύνοψη αξιολογήσεων με αστέρια |
FastCommentsTopPagesWidget |
FastCommentsTopPagesWidgetHandle |
Κατάταξη σελίδων με τα περισσότερα σχόλια |
FastCommentsUserActivityFeedWidget |
FastCommentsUserActivityFeedWidgetHandle |
Χρονολόγιο δραστηριότητας ανά χρήστη |
Widgets που επισυνάπτονται σε υπάρχον στοιχείο
FastCommentsCollabChatWidget και FastCommentsImageChatWidget εγκαθίστανται μέσα σε στοιχείο που παρέχεται από τον καλούντα. Περάστε έναν accessor targetRef που επιστρέφει το στοιχείο αφού εγκατασταθεί:
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}
/>
</>
);
}
Περιοχές
Περάστε region="eu" για να δρομολογήσετε την κίνηση του widget μέσω του cluster της ΕΕ.
Χρειάζεστε βοήθεια;
Εάν αντιμετωπίσετε οποιοδήποτε πρόβλημα ή έχετε ερωτήσεις σχετικά με τη Βιβλιοθήκη SolidJS, παρακαλούμε:
Συνεισφορά
Οι συνεισφορές είναι ευπρόσδεκτες! Παρακαλούμε επισκεφθείτε το αποθετήριο GitHub για οδηγίες συνεισφοράς.