Skip to main content

useCreateComment

Overview

The useCreateComment hook allows users to add a new comment to an entity or reply to an existing comment. It supports optional mentions within the comment content, enabling tagging other users.

Usage Example

import { useCreateComment } from "@replyke/react-js";

function AddComment({ entityId }: { entityId: string }) {
  const createComment = useCreateComment();

  const handleAddComment = async () => {
    try {
      const newComment = await createComment({
        entityId,
        content: "This is a new comment!",
        mentions: [{ userId: "123", username: "JohnDoe" }],
      });

      console.log("Comment added successfully:", newComment);
    } catch (error) {
      console.error("Failed to add comment:", error.message);
    }
  };

  return <button onClick={handleAddComment}>Add Comment</button>;
}

Parameters

The hook returns a function that accepts an object with the following fields:
entityId
string
required
The ID of the entity to which the comment is added
foreignId
string
If the comment is imported from an external dataset, use this to pass its ID
parentCommentId
string | null
The ID of the parent comment (for threaded replies)
content
string
The text content of the comment
gif
GifData
Object containing information about the GIF
mentions
Mention[]
An array of mentions to include in the comment
referencedCommentId
string
ID of a referenced comment (different from parentCommentId which is for threaded replies)
attachments
Record<string, any>[]
Data about any attachments included with the comment
metadata
Record<string, any>
Extra free-form metadata

Returns

response
Comment
The newly created comment object with all its properties
I