daily-js: it sits on top of it and exposes the same call object, methods, and events through React hooks and components, so you can work with a call the way you already work with React state.
Why use it
Building a custom call UI on rawdaily-js means wiring event listeners by hand, mirroring call state into local component state, attaching media tracks to DOM nodes, and tearing all of that down on unmount. Daily React does that work for you:
- Reactive state. Hooks like
useParticipantIdsanduseMeetingStatere-render your component when the relevant call state changes. No manualsetStateinside event handlers. - Granular re-renders. Hooks read from an internal store and subscribe only to the slice you ask for, so a participant muting their mic does not re-render every tile in your call.
- Media components.
DailyVideoandDailyAudiohandle track attachment, autoplay quirks, and speaker management that are tedious to get right by hand. - Automatic cleanup. Event subscriptions registered through hooks are torn down when the component unmounts.
When to use it (and when not to)
Daily React is for call object mode: building your own call interface in React with full control over the UI.Building a voice or multimodal AI agent? Reach for the Pipecat React SDK (
@pipecat-ai/client-react) instead. It is purpose-built for real-time AI agents and uses Daily as its transport, so you get the agent tooling out of the box rather than building it on Daily React yourself.How it fits together
Daily React manages its internal state with Jotai. Both@daily-co/daily-js and jotai are peer dependencies, so you install all three packages and they share a single version. See Installation for the details.
Prerequisites
- A Daily account and a room URL. Create a free account at daily.co and create a room to get a URL like
https://your-domain.daily.co/room-name. - A React 18+ app. Daily React’s hooks run on the client; for server-rendered frameworks like Next.js, see the Installation notes.
- Familiarity with the daily-js call object, participants, and tracks concepts. The guides here link back to them rather than repeating them.
Next steps
Quickstart
Build a working call in a few minutes.
Installation
Install and set up the provider.
Thinking in Daily React
The mental model behind the hooks.
API reference
The full API for every hook and component.