Skip to main content
This guide walks you through adding CometChat to a React Router app. By the end you’ll have a working chat UI with route-based navigation.

Prerequisites

You need three things from the CometChat Dashboard: You also need Node.js 18+ and npm/yarn installed.
Auth Key is for development only. In production, generate Auth Tokens server-side via the REST API. Never ship Auth Keys in client code.

Step 1 — Create a React Project with React Router


Step 2 — Install the UI Kit

If you want voice/video calling, also install:

Step 3 — Set Up Routes and Render

Create your route structure with a chat route. CometChatProvider handles init and login automatically. For development, use one of the pre-created test UIDs: cometchat-uid-1 · cometchat-uid-2 · cometchat-uid-3 · cometchat-uid-4 · cometchat-uid-5
src/main.tsx
src/App.tsx
src/pages/ChatPage.tsx
CometChatProvider handles init, login, and all context setup automatically. For advanced use cases (custom login flows, individual providers), see the CometChatProvider guide.
For production, use the authToken prop instead of authKey + uid. Generate auth tokens server-side via the CometChat REST API. Never ship auth keys in client code.

Step 4 — Run

Open http://localhost:5173/chat. You should see the conversation list on the left. Click a conversation to open the message panel.

Choose a Chat Experience

Conversation List + Message View

Two-panel layout — conversation list on the left, messages on the right.

One-to-One / Group Chat

Single chat window — no sidebar. Good for support chat or embedded widgets.

Tab-Based Chat

Tabbed navigation — Chat, Call Logs, Users, Settings in separate tabs.

Next Steps

Components Overview

Browse all prebuilt UI components

Theming

Customize colors, fonts, and styles

Plugins

Customize message rendering

Troubleshooting

Common issues and fixes