Skip to content

Documentation / @agentick/react / useSession

Function: useSession() ​

useSession(options?): UseSessionResult

Defined in: react/src/hooks/use-session.ts:66

Work with a specific session.

Parameters ​

options? ​

UseSessionOptions = {}

Returns ​

UseSessionResult

Examples ​

tsx
import { useSession } from '@agentick/react';

function Chat({ sessionId }: { sessionId: string }) {
  const { send, isSubscribed, subscribe } = useSession({ sessionId });
  const [input, setInput] = useState('');

  // Subscribe on mount
  useEffect(() => {
    subscribe();
  }, [subscribe]);

  const handleSend = async () => {
    await send(input);
    setInput('');
  };

  return (
    <div>
      <input value={input} onChange={(e) => setInput(e.target.value)} />
      <button onClick={handleSend}>Send</button>
    </div>
  );
}
tsx
function QuickChat() {
  const { send } = useSession();

  // Each send creates/uses an ephemeral session
  const handleSend = () => send('Hello!');

  return <button onClick={handleSend}>Ask</button>;
}
tsx
function Chat({ sessionId }: { sessionId: string }) {
  const { send, isSubscribed } = useSession({
    sessionId,
    autoSubscribe: true,
  });

  if (!isSubscribed) return <div>Subscribing...</div>;

  return <ChatInterface />;
}

Released under the ISC License.