
언어 🇰🇷 한국어
🇺🇸
English
🇧🇬
Български
🇨🇳
简体中文
🇹🇼
繁體中文
🇭🇷
Hrvatski
🇩🇰
Dansk
🇳🇱
Nederlands
🇺🇸
English (US)
🇨🇦
Français (Canada)
🇫🇷
Français (France)
🇩🇪
Deutsch
🇨🇾
Ελληνικά (Κύπρος)
🇬🇷
Ελληνικά
🇮🇱
עברית
🇮🇹
Italiano
🇯🇵
日本語
🇰🇷
한국어
🇵🇱
Polski
🇧🇷
Português (Brasil)
🇷🇺
Русский
🇺🇦
Русский (Украина)
🇧🇦
Српски (БиХ)
🇷🇸
Srpski (Latinica)
🇲🇪
Српски (Црна Гора)
🇷🇸
Српски
🇸🇮
Slovenščina
🇪🇸
Español
🇺🇦
Українська
🇹🇷
Türkçe
문서
시작하기
사용법
설정
SolidJS 앱에 댓글 추가
이것은 FastComments의 공식 SolidJS 라이브러리입니다.
실시간 댓글, 채팅 및 리뷰 위젯을 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은 임의 객체의 깊은 변경을 자동으로 추적하지 않으므로
첫 렌더 이후의 config 변경은 명시적으로 푸시해야 합니다. 모든 위젯은
핸들을 반환하는 apiRef를 허용합니다; 반응성을 구동하려면 createEffect에서
handle.update(partial)를 호출하세요:
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()는 언제든지 호출해도 안전합니다:
- 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.
명령형 핸들 API
interface WidgetHandle<Config> {
getInstance: () => WidgetInstance | null; // 최신 라이브 인스턴스(또는 마운트 전에는 null)
onInstance: (cb: (instance: WidgetInstance) => void) => void; // 인스턴스가 준비되면 한 번 호출됨
update: (partial: Partial<Config>) => void; // 구성 병합 및 푸시
}
.update()로 다루어지지 않는 명령형 동작에는 getInstance()를 사용하세요. 예: openProfile:
const openProfile = () =>
(handle?.getInstance() as { openProfile?: (o: { userId: string }) => void } | null)
?.openProfile?.({ userId: 'demo' });
컴포넌트 
fastcomments-react의 모든 위젯은 동일한 이름으로 사용 가능합니다:
| 컴포넌트 | 핸들 타입 | 로드된 임베드 |
|---|---|---|
FastCommentsCommentWidget | FastCommentsCommentWidgetHandle | 주력 실시간 댓글 위젯 |
FastCommentsCommentCountWidget | FastCommentsCommentCountWidgetHandle | 인라인 댓글 수 배지 |
FastCommentsLiveChatWidget | FastCommentsLiveChatWidgetHandle | 스트리밍 라이브 채팅 위젯 |
FastCommentsCollabChatWidget | FastCommentsCollabChatWidgetHandle | 텍스트 앵커 기반 협업 채팅 |
FastCommentsImageChatWidget | FastCommentsImageChatWidgetHandle | 영역 기반 이미지 댓글 |
FastCommentsRecentCommentsWidget | FastCommentsRecentCommentsWidgetHandle | 최근 댓글 피드 |
FastCommentsRecentDiscussionsWidget | FastCommentsRecentDiscussionsWidgetHandle | 최근 토론 피드 |
FastCommentsReviewsSummaryWidget | FastCommentsReviewsSummaryWidgetHandle | 별점 요약 |
FastCommentsTopPagesWidget | FastCommentsTopPagesWidgetHandle | 댓글 최다 페이지 순위 |
FastCommentsUserActivityFeedWidget | FastCommentsUserActivityFeedWidgetHandle | 사용자별 활동 타임라인 |
기존 요소에 첨부되는 위젯
FastCommentsCollabChatWidget와 FastCommentsImageChatWidget은 호출자가 제공한 요소에 마운트됩니다. 마운트된 후 요소를 반환하는 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"를 전달하면 위젯 트래픽이 EU 클러스터를 통해 라우팅됩니다.
도움이 필요하신가요?
SolidJS 라이브러리와 관련하여 문제가 발생하거나 질문이 있으시면, 다음을 이용하세요:
기여하기
기여는 환영합니다! 기여 지침은 GitHub 리포지토리를 방문하세요.