React
React components and hooks for Vibe Flags.
Vibe Flags ships a dedicated React integration under @vibe-flags/core/react. It provides wrapper components and a reactive hook.
Installation
React 18 or 19 is required as a peer dependency.
Quick start
Components
VibeFlagsBoolean
React wrapper for <vibe-flags-boolean>. Self-registers the flag and renders children when the flag value matches.
| Prop | Type | Default | Description |
|---|---|---|---|
name | string | required | Unique flag key |
description | string | '' | Label shown in toolbar |
value | string | '' | Expected value to show children |
default | boolean | false | Initial value |
VibeFlagsSelect and VibeFlagsOption
React wrappers for <vibe-flags-select> and <vibe-flags-option>.
VibeFlagsSelect props:
| Prop | Type | Default | Description |
|---|---|---|---|
name | string | required | Unique flag key |
description | string | '' | Label shown in toolbar |
default | string | first option | Default selection |
VibeFlagsOption props:
| Prop | Type | Description |
|---|---|---|
value | string | Option identifier — children shown when active |
VibeFlagsToolbar
Renders the floating toolbar. No props required.
Hook: useVibeFlags
Subscribe to a flag value inside any component. The component re-renders automatically when the flag changes.
Subscribe by key
If the flag is already registered (by a component or vibeFlagsStore.register), subscribe by key:
Register and subscribe inline
Pass a config object to register the flag and subscribe in one step:
Signature
Imperative registration
Use vibeFlagsStore.register() to register flags at app startup before any component mounts:
This is useful for flags that need to exist before React renders, or for flags managed entirely through the imperative API.