> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replyke.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fetch comment reactions

> Fetch a paginated list of users who reacted to a comment

## Overview

`useFetchCommentReactions` returns a function that fetches individual reaction records for a comment. Use this to show "who reacted" lists, optionally filtered by a specific reaction type.

## Usage Example

```tsx theme={null}
import { useFetchCommentReactions } from "@replyke/react-js";
import { useState } from "react";

function CommentLikers({ commentId }: { commentId: string }) {
  const fetchReactions = useFetchCommentReactions();
  const [reactions, setReactions] = useState([]);

  const load = async () => {
    const res = await fetchReactions({ commentId, page: 1, reactionType: "like" });
    setReactions(res.data);
  };

  return <button onClick={load}>See who liked</button>;
}
```

## Parameters

<ParamField path="commentId" type="string" required>
  The comment to fetch reactions for.
</ParamField>

<ParamField path="page" type="number" required>
  Page number (1-indexed).
</ParamField>

<ParamField path="limit" type="number">
  Results per page. Default: `20`.
</ParamField>

<ParamField path="reactionType" type="ReactionType">
  Filter to a specific reaction type.
</ParamField>

<ParamField path="sortDir" type="&#x22;asc&#x22; | &#x22;desc&#x22;">
  Sort direction by creation date. Default: `"desc"`.
</ParamField>

## Returns

<ResponseField name="data" type="Reaction[]">
  Array of reaction records. Each includes `id`, `userId`, `reactionType`, `targetId`, `targetType`, `createdAt`. The `user` field is populated when user data is available.
</ResponseField>

<ResponseField name="pagination" type="PaginationMetadata">
  Pagination metadata for the result set.

  * `page` — current page number
  * `pageSize` — number of results returned
  * `totalItems` — total number of reactions matching the query
  * `totalPages` — total number of pages
  * `hasMore` — whether additional pages are available
</ResponseField>
