openreplay/frontend/app/hooks/useInputState.ts
Андрей Бабушкин b822b1c067 applied eslint
2025-02-26 20:31:01 +01:00

12 lines
470 B
TypeScript

import React, { useState, useCallback } from 'react';
type SupportedElements = HTMLInputElement | HTMLSelectElement;
export default function (state: string = ''): [string, React.ChangeEventHandler<SupportedElements>, (value: string) => void] {
const [value, setValue] = useState<string>(state);
const onChange = useCallback(
({ target: { value } }: React.ChangeEvent<SupportedElements>) => setValue(value),
[],
);
return [value, onChange, setValue];
}