React Native Gifted Chat with example

React Native Gifted Chat with example

React Native Gifted Chat is a popular library for adding chat functionality to React Native applications. It provides a wide range of customizable UI components, including chat bubbles, message input fields, and avatar images. With this library, developers can create rich and engaging chat experiences that are tailored to their specific needs.

In this article, we will explore the features and benefits of React Native Gifted Chat and demonstrate how to use it in a React Native app.

Features of React Native Gifted Chat

  1. Customizable UI Components: React Native Gifted Chat provides a wide range of customizable UI components for building chat interfaces, including message bubbles, input fields, and avatars.
  2. Multiple Chat Types: The library supports various types of chats, including one-on-one chats, group chats, and channels.
  3. Image and Video Support: Users can send and receive images and videos within the chat.
  4. Keyboard and Toolbar Management: The library handles keyboard and toolbar management for a seamless user experience.
  5. Message Status Indicators: The library provides built-in support for message status indicators, including sent, delivered, and read.
  6. Localization: React Native Gifted Chat supports multiple languages, making it accessible to a global audience.

Using React Native Gifted Chat in a React Native App

  1. Install the Library: To use React Native Gifted Chat, you need to install it using npm or yarn. Open a terminal window and run the following command:
npm install react-native-gifted-chat

if you are using yarn

yarn add react-native-gifted-chat
  1. Set Up the Chat Screen: Create a new screen for the chat interface and add the GiftedChat component to the screen.
import React, { useState, useCallback, useEffect } from 'react';
import { GiftedChat } from 'react-native-gifted-chat';

const ChatScreen = () => {
  const [messages, setMessages] = useState([]);

  useEffect(() => {
        _id: 1,
        text: 'Hello developer!',
        createdAt: new Date(),
        user: {
          _id: 2,
          name: 'React Native Gifted Chat',
          avatar: '',
  }, []);

  const onSend = useCallback((newMessages = []) => {
    setMessages((prevMessages) => GiftedChat.append(prevMessages, newMessages));
  }, []);

  return (
        _id: 1,

export default ChatScreen;

In the above example, we have created a new screen called ChatScreen that renders the GiftedChat component. The messages state contains an initial message, and the onSend function handles sending new messages.

  1. Customize the UI Components: You can customize the UI components to match your app’s design language. For example, you can customize the chat bubble colors by passing a renderBubble prop to the GiftedChat component.
const renderBubble = (props) => {
  return (
        right: {
          backgroundColor: '#007AFF',
        left: {
          backgroundColor: '#E5E5EA',
        right: {

If you want to know how can you create a Login page for your Application checkout this – A Step-by-Step Guide to Creating a Login Page in React Native.


React Native Gifted Chat is a powerful and flexible library for adding chat functionality to React Native applications. It provides a range of customizable UI components and features that make it a popular choice

Leave a Reply

Your email address will not be published. Required fields are marked *