Files
Mastodon/app/javascript/mastodon/hooks/useToggle.ts
T
2026-07-06 12:31:45 +00:00

17 lines
474 B
TypeScript

import { useCallback, useState } from 'react';
export function useToggle(initialValue: boolean | (() => boolean) = false) {
const [value, setValue] = useState(initialValue);
const onTrue = useCallback(() => {
setValue(true);
}, []);
const onFalse = useCallback(() => {
setValue(false);
}, []);
const onToggle = useCallback(() => {
setValue((prevValue) => !prevValue);
}, []);
return [value, { setValue, onTrue, onFalse, onToggle }] as const;
}