import React from 'react'; import { useDispatch } from 'react-redux'; import { debounce } from "lodash" import { setSearchValue } from '../../redux/search/slice'; export const Search: React.FC = () => { const dispatch = useDispatch(); const [value, setValue] = React.useState(''); const inputRef = React.useRef(null); const onClickClear = () => { dispatch(setSearchValue('')); setValue(''); inputRef.current?.focus(); }; const updateSearchValue = React.useCallback( debounce((str: string) => { dispatch(setSearchValue(str)); }, 150), [], ); const onChangeInput = (event: React.ChangeEvent) => { setValue(event.target.value); updateSearchValue(event.target.value); }; return (
{value && ( )}
); };