
Langue 🇨🇦 Français (Canada)
Documentation
Premiers pas
Utilisation
Configuration
Add Comments to Your SolidJS App
Ceci est la bibliothèque officielle SolidJS pour FastComments.
Intégrez des widgets de commentaires en direct, de chat et d'avis dans votre application SolidJS.
Dépôt
Démonstration en direct 
Essayez chaque widget en direct sur https://fastcomments.com/commenting-system-for-solidjs.
Utilisation 
import { FastCommentsCommentWidget } from 'fastcomments-solidjs';
export default function App() {
return <FastCommentsCommentWidget tenantId="demo" urlId="some-page-id" />;
}
Réagir aux changements de configuration (interface impérative) 
Solid ne suit pas automatiquement les mutations profondes sur des objets arbitraires, donc
les changements de configuration après le premier rendu doivent être poussés explicitement. Chaque widget
accepte un apiRef qui renvoie un handle ; appelez handle.update(partial) depuis un createEffect pour
alimenter la réactivité :
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() peut être appelé en toute sécurité à tout moment :
- Avant que le script ne soit chargé : le partial est mis en réserve et appliqué à l'initialisation.
- Pendant une initialisation asynchrone (reviews-summary, user-activity-feed) : le partial est mis en file d'attente et appliqué lorsque le callback se résout.
- Après l'initialisation : il est transmis directement à la méthode
.update()du widget en direct.
API impérative du handle
interface WidgetHandle<Config> {
getInstance: () => WidgetInstance | null; // dernière instance en direct (ou null avant le montage)
onInstance: (cb: (instance: WidgetInstance) => void) => void; // déclenché une fois que l'instance est prête
update: (partial: Partial<Config>) => void; // fusionne et pousse la configuration
}
Utilisez getInstance() pour des actions impératives qui ne sont pas couvertes par .update(), p. ex. openProfile:
const openProfile = () =>
(handle?.getInstance() as { openProfile?: (o: { userId: string }) => void } | null)
?.openProfile?.({ userId: 'demo' });
Composants 
Chaque widget de fastcomments-react est disponible sous le même nom :
| Composant | Type de handle | Intégration chargée |
|---|---|---|
FastCommentsCommentWidget |
FastCommentsCommentWidgetHandle |
Widget principal de commentaires en direct |
FastCommentsCommentCountWidget |
FastCommentsCommentCountWidgetHandle |
Badge intégré du nombre de commentaires |
FastCommentsLiveChatWidget |
FastCommentsLiveChatWidgetHandle |
Widget de clavardage en direct en continu |
FastCommentsCollabChatWidget |
FastCommentsCollabChatWidgetHandle |
Chat collaboratif ancré au texte |
FastCommentsImageChatWidget |
FastCommentsImageChatWidgetHandle |
Commentaires d'image par région |
FastCommentsRecentCommentsWidget |
FastCommentsRecentCommentsWidgetHandle |
Fil des commentaires récents |
FastCommentsRecentDiscussionsWidget |
FastCommentsRecentDiscussionsWidgetHandle |
Fil des discussions récentes |
FastCommentsReviewsSummaryWidget |
FastCommentsReviewsSummaryWidgetHandle |
Résumé des évaluations par étoiles |
FastCommentsTopPagesWidget |
FastCommentsTopPagesWidgetHandle |
Palmarès des pages les plus commentées |
FastCommentsUserActivityFeedWidget |
FastCommentsUserActivityFeedWidgetHandle |
Chronologie d'activité par utilisateur |
Widgets qui s'attachent à un élément existant
FastCommentsCollabChatWidget et FastCommentsImageChatWidget se montent dans un élément fourni par l'appelant. Fournissez un accesseur targetRef qui retourne l'élément une fois monté :
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}
/>
</>
);
}
Régions
Passez region="eu" pour acheminer le trafic du widget via le cluster de l'UE.
Besoin d'aide?
Si vous rencontrez des problèmes ou avez des questions concernant la bibliothèque SolidJS, veuillez :
Contributions
Les contributions sont les bienvenues ! Veuillez consulter le dépôt GitHub pour les directives de contribution.