Rev 2887 | 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
};
}