Skip to main content

React Native UI Kit v5 — LLM docs index (Latest)

Stateful, drop-in React Native chat/calling UI. Package @cometchat/chat-uikit-react-native@5 + @cometchat/chat-sdk-react-native@4. This page is a React-Native-v5-only routing index for AI agents — a scoped alternative to the site-wide /docs/llms.txt.

How to use this index

Each link points to the docs page; append .md to its URL to fetch the clean Markdown twin (verbatim code + an “AI Integration Quick Reference” block with prop names, types, and defaults). Pick the page for the intent, then read the props there.
  • Convention: any docs page URL + .md → raw Markdown.
  • Fallback: if a .md twin 404s, fetch the same URL without .md (HTML). Never read a package .d.ts and never answer props from memory.

Platform rules — React Native is not the web

This kit renders native views, not DOM. Code that works in the React UI Kit does not port 1:1. Non-negotiables:
  • No CSS, no className, no <div>/<a href>, no document.*/window.*. Styling is StyleSheet objects and the theme API — see Theming.
  • Native peer deps are required, not optional. Verified against @cometchat/chat-uikit-react-native@5.4.0: @cometchat/chat-sdk-react-native, @react-native-clipboard/clipboard, @react-native-community/datetimepicker, react-native-gesture-handler, react-native-svg, react-native-video, react-native-localize, react-native-safe-area-context, @react-native-async-storage/async-storage, dayjs (+ punycode on Expo). Install and pod-install them before first render; a missing native module fails at mount, not at build. Take the exact list from the integration page — do not infer it.
  • Android + async-storage v3 needs an extra Gradle line. @react-native-async-storage/async-storage v3 ships a local Maven artifact; without the local_repo entry in android/build.gradle the Android build fails. See the integration page.
  • One screen per route. Use a stack navigator and a real hardware/gesture back button — do not stack components on a single screen the way a web layout would.
  • Two toolchains, different setup: React Native CLI (bare) and Expo. Pick the matching integration page below; the install/native-config steps differ.
  • No plugin API. React v7’s CometChatMessagePlugin and CometChatPluginRegistry do not exist in this kit — emitting them will not compile. RN customises through a decorator chain: extend DataSourceDecorator, override what you need calling super each time, and register with ChatConfigurator.enable(...) after CometChatUIKit.login() (login re-runs ChatConfigurator.init(), discarding anything registered earlier). See Customization & extensibility below.

Hot path — usually no fetch needed

For a plain “add chat” the install, init → login → render, and the core drop-in props are stable; a well-built agent skill bakes them. Fetch below only for exhaustive props, long-tail components, theming tokens, or feature enablement.

Getting started / integration

Core & configuration

Theming & styling

Components — conversations & lists

Components — messages

Components — calling

Components — AI & notifications

Customization & extensibility

The decorator chain — RN’s equivalent of React’s plugin system. Entries name the API, not just the page, because the intent (“add a custom message type”) does not match any page title.
  • Custom message typeDataSourceDecorator · ChatConfigurator.enable · CometChatMessageTemplateMessage List → Filtering Messages. Needs four overrides: getAllMessageTemplates · getMessageTemplate (render) and getAllMessageTypes · getAllMessageCategories (fetch — the list builds setTypes/setCategories from them). Shipping only the render pair gives a bubble that appears on send and vanishes on reload, with no error. Register after login().
  • Long-press menu / composer actionsgetMessageOptions · getAuxiliaryOptions on the same decorator → Message List · Message Composer
  • Custom bubble rendering — view slots on each component → the component’s own page
  • UI eventsCometChatUIEventsEvents
  • Kit methodsMethods
DataSourceDecorator / MessageDataSource / ExtensionsDataSource have no dedicated RN page yet — the custom-message-type contract is documented on Message List. Tracked as a docs gap.

Text formatters

Task guides (recipes)

Framework recipes (full-page layouts)

Migration & misc