AI

Building AI chat interfaces in React Native with PanelUI.

Beta. These pages describe patterns rather than a stable API surface, and they move with the AI SDK. Nothing here ships as a component yet — if a pattern below earns its keep, it graduates into the library.

Most AI chat guides are written for the web, where a div re-rendering sixty times a second is free, EventSource exists, and the keyboard is not a thing. None of that holds on a phone. This section covers what is actually different.

What is different on native

The web assumptionWhat holds on native
fetch streams response bodiesReact Native's fetch buffers the whole response. You need expo/fetch.
TextDecoderStream existsIt does not. Neither does structuredClone. Both need polyfilling.
A re-render per token is cheapIt is not. A long transcript re-rendering per token drops frames.
The page just scrollsThe keyboard covers the composer, and the transcript has to stay pinned.
Any relative URL reaches your API'/api/chat' means nothing in a native bundle — there is no origin.

Each of those has a page here.

The pages

Which components you will use

Nothing here is AI-specific — these are the same components documented everywhere else, in the arrangement a chat screen wants.

ComponentRole
MessageEach turn: bubble, avatar, header, footer
Message.GroupConsecutive turns from one sender
ShimmerThe thinking state before the first token
ItemTool calls and sources inside a turn
Input with avoidKeyboardThe composer
ScrollFadeSoftening the transcript edges

On this page