Skip to content

createBooleanState

Creates a reactive boolean state with convenient methods for boolean operations. Extends createState with boolean-specific helpers like toggle, setTrue, and setFalse.

import type * as React from 'react';
import { createBooleanState } from 'synstate';
import { useObservableValue } from 'synstate-react-hooks';
// Menu drawer open/close state.
// setTrue and setFalse can be passed directly as callbacks — no need to
// create wrapper functions like `() => setState(true)`.
const [menuOpen$, { setTrue: openMenu, setFalse: closeMenu }] =
createBooleanState(false);
const SampleComponent = (): React.JSX.Element => (
<MenuDrawer
open={useObservableValue(menuOpen$)}
onClose={closeMenu}
onOpen={openMenu}
/>
);

The second argument takes the same equals option as createState.

equals defaults to Object.is, so writing the value already held passes nothing on. Pass equals: () => false to pass on every update, equal or not.

View source on GitHub