Rev 2880 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import { useSearchParams } from 'react-router-dom'
export function useSearchQuery() {
const [searchParams, setSearchParams] = useSearchParams()
const getParam = (key) => searchParams.get(key) ?? ''
const setParam = (key, value) => {
if (!value) return deleteParam(key)
searchParams.set(key, value)
setSearchParams(searchParams)
}
const deleteParam = (key) => {
searchParams.delete(key)
setSearchParams(searchParams)
}
const getAllParams = () => {
return Object.fromEntries([...searchParams.entries()])
}
const getStringParams = () => {
const paramsString = searchParams.toString()
return paramsString.length > 0 ? `?${paramsString}` : ''
}
return {
getParam,
setParam,
deleteParam,
getAllParams,
getStringParams
}
}