useTrackOnToggle

Monitors the given state and runs and runs the given trueEvent or falseEvent depending on the given state value.

The false event can be omitted, in which case the hook will monitor the state and always trigger the only effect provided.

useTrackOnToggle = (parameters: {
state: boolean | (() => boolean),
trueEvent: TrackerEvent,
falseEvent?: TrackerEvent,
tracker?: Tracker
}) => void

Parameters

typedefault value
requiredstateboolean | () => boolean
requiredtrueEventTrackerEvent
optionalfalseEventTrackerEvent
optionaltrackerReactTracker

Usage

with a boolean state
import { makeHiddenEvent, makeVisibleEvent } from "@objectiv/tracker-core";
import { useTrackOnToggle } from "@objectiv/tracker-react";

useTrackOnToggle({
state: isVisible,
trueEvent: makeVisibleEvent(),
falseEvent: makeHiddenEvent()
})
with a predicate state
import { makeHiddenEvent, makeVisibleEvent } from "@objectiv/tracker-core";
import { useTrackOnToggle } from "@objectiv/tracker-react";

useTrackOnToggle({
state: () => isVisible,
trueEvent: makeVisibleEvent(),
falseEvent: makeHiddenEvent()
})
without falseEvent
import { makeSuccessEvent } from "@objectiv/tracker-core";
import { useTrackOnToggle } from "@objectiv/tracker-react";

useTrackOnToggle({
state: () => isVisible,
trueEvent: makeSuccessEvent({ message: 'toggled!' })
})