2022-02-22
2990
#firebase#react native
Emmanuel Etukudo
64007
Feb 22, 2022 ⋅ 10 min read

Build a chat app with react-native-gifted-chat

Emmanuel Etukudo I am a full-stack developer with more than five years of experience, with a preference for JavaScript, Node.js, Go, React, Redux, and MongoDB.

Recent posts:

How to ensure your expert C# knowledge doesn’t make you a TypeScript noob

Coming from C# can quietly sabotage your TypeScript code. This article shows how to swap nullable flags and enums for discriminated unions and literal types so your Angular apps model state cleanly and stay easy to reason about.

Lewis Cianci
Nov 25, 2025 ⋅ 3 min read
How To Scale CSS In Micro Frontends (Without Losing Your Mind)

How to scale CSS in micro frontends (without losing your mind)

Micro frontends boost autonomy but they make CSS a nightmare. In this guide, I break down how to scale styling without collisions using design tokens, CSS Modules, and the Shadow DOM.

Elijah Asaolu
Nov 24, 2025 ⋅ 6 min read
chatgpt atlas for developers featured image

How to use ChatGPT Atlas for frontend debugging, testing, and more

Learn how ChatGPT’s new browser Atlas fits into a frontend developer’s toolkit, including the debugging and testing process.

Emmanuel John
Nov 20, 2025 ⋅ 10 min read

Why composition – not reactivity – leads UI’s future

Users don’t think in terms of frontend or backend; they just see features. This article explores why composition, not reactivity, is becoming the core organizing idea in modern UI architecture.

Oscar Jite-Orimiono
Nov 20, 2025 ⋅ 6 min read
View all posts

6 Replies to "Build a chat app with react-native-gifted-chat"

  1. Just want to point out, at the time when this article was published (August 27, 2021) this is already outdated. It uses the syntax for Firestore 8.x and not 9.x which is modular.

  2. I would like to change to one on one chat app, but I adding the toUser field under chat, it with error Function addDoc() called with invalid data. Unsupported field value: undefined, could you advise. Thanks.

    Add the toUser: ‘aaaa’ on snapshot.docs.map
    const { _id, createdAt, text, user, toUser } = messages[0]
    addDoc(collection(db, ‘chats’), { _id, createdAt, text, user, toUser });

  3. Thank you for the blog post, messaging is tricky and we need more docs on implementing chat in React and RN. For further reading on this topic, I suggest those interested check our open source Ethora engine which includes full chat / messaging support. We have implemented the UI using GiftedChat and we use ejabberd XMPP server for the chat backend.

    You can take a peek into our code if it helps with implementing your project: https://github.com/dappros/ethora or just clone the repo, change splash screen and build your app on top of our engine if you like how things are arranged there.

    Any feedback is welcome!

Leave a Reply

Hey there, want to help make our blog better?

Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.

Sign up now