Skip to main content
This guide builds a tabbed messaging UI — Chats, Users, Groups, and Calls tabs with bottom navigation, plus a message view when an item is selected. Good for full-featured apps that need more than just conversations. This assumes you’ve already completed React Native CLI Integration (project created, UI Kit installed, init + login working).

What You’re Building

Three sections working together:
  1. Tab bar — switches between Chats, Users, Groups, and Calls
  2. List screens — renders the list for the active tab
  3. Message view — header + messages + composer for the selected item

Prerequisites

Install React Navigation dependencies:
For iOS, install pods:

Configure Gesture Handler

Add this import at the very top of your entry file (before any other imports):
index.js
This import must be at the top of your entry file. Failing to do so may cause crashes in production.

Step 1 — Create the Tab Screens

Create individual screen components for each tab:
screens/ConversationsScreen.tsx
screens/UsersScreen.tsx
screens/GroupsScreen.tsx
screens/CallLogsScreen.tsx

Step 2 — Create the Messages Screen

screens/MessagesScreen.tsx

Step 3 — Set Up Navigation

Configure React Navigation with bottom tabs and a stack navigator:
App.tsx
Download tab icons from the CometChat UI Kit assets folder on GitHub and place them in your assets/ folder.

Step 4 — Run the Project

You should see the tab bar at the bottom. Switch between Chats, Users, Groups, and Calls — tapping any item navigates to the message view.

Next Steps

Theming

Customize colors, fonts, and styles to match your brand

Components Overview

Browse all prebuilt UI components

React Native CLI Integration

Back to the main setup guide

Core Features

Chat features included out of the box