openreplay/frontend/app/hooks/useInputState.ts
Андрей Бабушкин 2b1a9f3378 add locales and lint the project
2025-03-05 16:09:18 +01:00

19 lines
490 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];
}