@barguide/react-hooks
Version:
TypeScript | React Hooks
31 lines (24 loc) • 698 B
text/typescript
import { useState } from 'react';
export type FormSelectOnChange = (
event: React.ChangeEvent<HTMLSelectElement>
) => void;
export interface FormSelect {
onChange: FormSelectOnChange;
setValue: (val: boolean) => void;
value: boolean;
}
/**
* @name useFormSelect
* @description A convenience hook for working with text inputs of type checkbox
*/
export const useFormSelect = (values: any[]): FormSelect => {
// Setup
const initialValue = values[0];
// Hooks
const [value, setValue] = useState(initialValue);
// Handlers
const onChange = (event: React.ChangeEvent<HTMLSelectElement>) => {
setValue(event.target.value);
};
return { onChange, setValue, value };
};