useControllableState

State that can be controlled by a value prop or stored inside the component.

State that can be controlled by a value prop or stored inside the component.

Usage

'use client';

import { useControllableState } from '@prosazhin/pbcomponents';

function Example() {
  const [open, setOpen] = useControllableState({ defaultValue: false });
  return <button onClick={() => setOpen(!open)}>{open ? 'Open' : 'Closed'}</button>;
}

Hook API

Parameters

ParameterType / variantsPurposeDefault
value?TExternal value for controlled state. Provide this or defaultValue.—
defaultValue?TInitial internal value. Provide this or value.—
onChange?(value: T) => voidCalled when the value changes.—

Returns

ValueType / variantsPurpose
[0] valueT | undefinedCurrent value. Can be undefined when neither value nor defaultValue is provided.
[1] setValue(value: T) => voidSets the value or reports a change through onChange.

On this page