F
Size: a a a
F
F
АБ
ИМ
F
АБ

ИМ
И
AM
export const setSearchQueryHandler = (query) => {
return (dispatch,getState) => {
let result = findBook(query); // предполагает запрос
if(result.length){
dispatch(setSearchQuery(query,result))
}else {
result = 'no match';
dispatch(noSearchQuery(query,[]))
}
}
}
/* Container */
import Filter from '@components/Filter/Filter';
import { setSearchQueryHandler } from "@actions/filter";
import { useSelector,useDispatch } from "react-redux";
export const FilterContainer = () => {
const dispatch = useDispatch();
const setSearchQueryHandlerMemo = useCallback((param) =>{
dispatch(setSearchQueryHandler(param))
},[dispatch]);
return <Filter
setSearchQueryHandler = { setSearchQueryHandlerMemo }
/>
}
/* Component */
import {debounce} from 'lodash'
const Filter = ({
setSearchQueryHandler
}) => {
const handleChange = (e) =>{
let value = e.target.value.trim();
if(value.length > 0){
setSearchQueryHandler(value)
}
}
return (
<Menu secondary>
<Menu.Item>
<Input
onChange={handleChange}
placeholder="Введите запрос"
icon="search"/>
</Menu.Item>
</Menu>
)
}F
АБ
АБ
АБ
F
И
И
АБ
АБ
И