lookingglass/hyperglass/ui/hooks/useBooleanValue.ts
2021-01-03 23:51:09 -07:00

18 lines
363 B
TypeScript

import { useMemo } from 'react';
/**
* Track the state of a boolean and return values based on its state.
*/
export function useBooleanValue<T extends unknown, F extends unknown>(
status: boolean,
ifTrue: T,
ifFalse: F,
): T | F {
return useMemo(() => {
if (status) {
return ifTrue;
} else {
return ifFalse;
}
}, [status]);
}