Skip to main content

useOpenState

useOpenState()

function useOpenState(initialValue): object;

Defined in: src/utils/useOpenState/useOpenState.ts:24

Handles open/close or similar boolean states. Mainly aims to improve readability.

Parameters

ParameterTypeDefault value
initialValueInitialState<boolean>false

Returns

object

NameTypeDefined in
isOpenbooleansrc/utils/useOpenState/useOpenState.ts:33
setIsOpenDispatch<SetStateAction<boolean>>src/utils/useOpenState/useOpenState.ts:33
close()() => voidsrc/utils/useOpenState/useOpenState.ts:33
open()() => voidsrc/utils/useOpenState/useOpenState.ts:33
toggle()() => voidsrc/utils/useOpenState/useOpenState.ts:33

Example

const modal = useOpenState()
<button onClick={modal.open} />
<Modal isOpen={modal.isOpen} />

useStatefulOpenState()

function useStatefulOpenState<T>(initialStateValue?, initialValue?): object;

Defined in: src/utils/useOpenState/useOpenState.ts:45

Implements a stateful open/closed mechanism that preserves component state between transitions.

Type Parameters

Type Parameter
T

Parameters

ParameterType
initialStateValue?T
initialValue?InitialState<boolean>

Returns

object

NameTypeDefined in
isOpenbooleansrc/utils/useOpenState/useOpenState.ts:61
close()() => voidsrc/utils/useOpenState/useOpenState.ts:61
open()(state) => voidsrc/utils/useOpenState/useOpenState.ts:61
stateT | undefinedsrc/utils/useOpenState/useOpenState.ts:61

Remarks

This pattern is particularly useful in scenarios requiring:

  • A boolean flag to control visibility (open/closed state)
  • Separate state to determine opened entity
  • Saving state even after closing, which prevents flickering during exit animations