Skip to main content

Overview

useJoinSpace returns a callable function for joining a space. If the space has requireJoinApproval: true, the membership is created with status: "pending" until approved by a moderator or admin. Otherwise, it is immediately active.
When using SpaceProvider, call joinSpace from useSpace — it handles optimistic state updates automatically.

Usage Example

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

function JoinButton({ spaceId }: { spaceId: string }) {
  const joinSpace = useJoinSpace();

  const handleJoin = async () => {
    const result = await joinSpace({ spaceId });
    console.log(result.membership.status); // "pending" or "active"
  };

  return <button onClick={handleJoin}>Join</button>;
}

Parameters

spaceId
string
required
UUID of the space to join.

Returns

message
string
Confirmation message.
membership
object
The created membership record with id, spaceId, userId, role ("member"), status, and joinedAt.