MCPcopy
hub / github.com/kitze/react-hanger / useInput

Function useInput

src/useInput.ts:19–43  ·  view source on GitHub ↗
(initial: string | number | boolean = '')

Source from the content-addressed store, hash-verified

17};
18
19export function useInput(initial: string | number | boolean = ''): UseInput {
20 const stringified = initial.toString();
21 const [value, setValue] = useState<string>(stringified);
22 const onChange = useCallback((e) => setValue(e.target.value), []);
23
24 const clear = useCallback(() => setValue(''), []);
25 return useMemo(
26 () => ({
27 value,
28 setValue,
29 hasValue: value !== undefined && value !== null && value.trim() !== '',
30 clear,
31 onChange,
32 eventBind: {
33 onChange,
34 value,
35 },
36 valueBind: {
37 onChange: setValue,
38 value,
39 },
40 }),
41 [clear, onChange, value],
42 );
43}
44
45export default useInput;

Callers 1

index.test.tsFile · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected