Skip to content
React Spring Bottom Sheet
PrimitivesNIPE Open Source
Browse documentation
On this page

docs / state

State and lifecycle

Choose controlled or uncontrolled state without mixing contracts.

Open state

Use defaultOpen when the sheet owns its state. Use open with onOpenChange when routing, a form, or another component needs to know whether the sheet is open.

The callback includes a reason such as trigger, close, Escape, backdrop, drag, or imperative change. Controlled props remain authoritative: update state in the callback or the visible state will not change.

Run the controlled-state recipe

Snap state

Name destinations after meaning rather than height. Pair activeSnapPoint with onSnapPointChange when the application needs to coordinate compact and expanded layouts.

Control named snap points