Как использовать эти методы чтобы фильтровать с chekbox?
Я делаю функционал фильтровки с чекбоксами полученные после поиска и надо с этими методами работать чтобы данные автоматически обновлялись , но я незнаю что делать дальше:(
export default function Search({changeChecked}) {
const theme = useTheme()
const isTablet = useMediaQuery(theme.breakpoints.down('md'))
const ref = React.useRef(null)
const [product, setProduct] = useState()
let [searchParams, setSearchParams] = useSearchParams()
console.log(searchParams);
const filters = React.useMemo(() => {
let obj = {
page: searchParams.get('page') || 0,
size: searchParams.get('size') || 16,
query: searchParams.get('query'),
category: searchParams.get('category'),
brand: searchParams.get('brand'),
promo: searchParams.get('promo'),
min: searchParams.get('min') || 0,
max: searchParams.get('max') || 10000000,
sorted: searchParams.get('sorted'),
state: searchParams.get('state'),
}
for (const [key, value] of Object.entries(obj)) {
if (value === null || value === undefined) delete obj[key]
}
return obj
}, [searchParams])
const updateFilter = (key, value) => {
if (value) searchParams.set(key, value)
else searchParams.delete(key)
setSearchParams(searchParams)
}
const { data } = useSearchProductsQuery(filters)
// number | next (data?.number + 1) | previous (data?.number - 1)
const setPage = page => updateFilter('page', page)
const setSize = size => updateFilter('size', size)
const setQuery = () => updateFilter('query', ref?.current?.value)
// category id | null for default
const setCategory = category => updateFilter('category', category,)
// brand id | null for default
const setBrand = brand => updateFilter('brand', brand)
// promo id | null for default
const setPromo = promo => updateFilter('promo', promo)
// number (0+) | null for default
const setMin = min => updateFilter('min', min)
// number | null for default
const setMax = max => updateFilter('max', max)
// price_asc | price_desc | date_asc | date_desc | null for default
const setSorted = sorted => updateFilter('sorted', sorted)
// Б/У | Хорошее | Новое, с биркой | null for default
const setState = state => updateFilter('state', state)