Skip to main content

useWorkspaceMemberships

The useWorkspaceMemberships hook fetches and provides a list of all workspace memberships for the current user.

Return Value

workspaceMemberships
WorkspaceMembership[]
List of workspace memberships for the current user
loading
boolean
Whether the memberships are loading
error
Error | null
Any error that occurred
refetch
import { useWorkspaceMemberships } from "@wacht/tanstack-router";

function WorkspaceList() {
  const { workspaceMemberships, loading, refetch } = useWorkspaceMemberships();

  return (
    <ul>
      {workspaceMemberships?.map((membership) => (
        <li key={membership.id}>
          {membership.workspace.name}
        </li>
      ))}
    </ul>
  );
}

Data Structures

Examples

List All Workspaces

import { useWorkspaceMemberships } from "@wacht/tanstack-router";

function WorkspaceList() {
  const { workspaceMemberships, loading } = useWorkspaceMemberships();

  if (loading) return <div>Loading...</div>;

  return (
    <ul>
      {workspaceMemberships.map((membership) => (
        <li key={membership.id}>
          {membership.workspace.name}
        </li>
      ))}
    </ul>
  );
}

Refetch After Update

import { useWorkspaceMemberships, useWorkspaceList } from "@wacht/tanstack-router";

function WorkspaceManager() {
  const { refetch } = useWorkspaceMemberships();
  const { createWorkspace } = useWorkspaceList();

  const handleCreate = async () => {
    await createWorkspace("org_id", "New Workspace");
    await refetch();
  };

  return <button onClick={handleCreate}>Create Workspace</button>;
}