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.
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 type —
DataSourceDecorator · ChatConfigurator.enable ·
CometChatMessageTemplate → Message 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 actions —
getMessageOptions · getAuxiliaryOptions on the same
decorator → Message List · Message Composer
- Custom bubble rendering — view slots on each component → the component’s own page
- UI events —
CometChatUIEvents → Events
- Kit methods — Methods
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