import { FormEventHandler, useCallback, useState } from "react"; const defaultTransform = (value: T) => value; type UseSelectArgs = { start: T, transform?: (arg: any) => T }; /** * Custom hook for working with component state that works with a target select */ const useSelect = ({ start, transform = defaultTransform }: UseSelectArgs) => { const [state, setState] = useState(start); const set = useCallback>((event) => { setState(transform(event.currentTarget.value)); }, [transform]); return [state, set] as const; }; export { useSelect };