Rev 2774 | Rev 2870 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import { useNavigate, useLocation } from 'react-router-dom'
export function useSearchParams() {
const { search, pathname } = useLocation()
const navigate = useNavigate()
const params = new URLSearchParams(search)
const changeParams = (key, value) => {
value ? params.set(key, value) : params.delete(key)
navigate(`${pathname}?${params.toString()}`)
}
const getParams = () => {
const result = {}
for (const [key, value] of params.entries()) {
result[key] = value ?? ''
}
return result
}
return {
setParams: changeParams,
params: getParams() || {}
}
}