feat: add debounce to search

This commit is contained in:
2024-05-19 02:18:23 +02:00
parent 7af2b43fed
commit 956a8faca1
4 changed files with 2681 additions and 2454 deletions

View File

@@ -1,3 +1,5 @@
import { useCallback } from 'react'
import { isNil } from 'remeda'
export function useQueryParam<T extends boolean | number | string>(
@@ -9,14 +11,17 @@ export function useQueryParam<T extends boolean | number | string>(
const paramValue = searchParams.get(param)
const convertedValue = getConvertedValue<T>(paramValue, defaultValue)
const setParamValue = (value: T | null): void => {
if (isNil(value) || value === '') {
searchParams.delete(param)
} else {
searchParams.set(param, String(value))
}
setSearchParams(searchParams)
}
const setParamValue = useCallback(
(value: T | null): void => {
if (isNil(value) || value === '') {
searchParams.delete(param)
} else {
searchParams.set(param, String(value))
}
setSearchParams(searchParams)
},
[searchParams, setSearchParams]
)
return [convertedValue, setParamValue]
}