stateful-params
Version:
A lightweight and intuitive React hook for managing URL query parameters with ease. Stateful-params enables seamless CRUD operations on URL query parameters while keeping your UI in sync with the URL state. Perfect for building dynamic, stateful, and shar
30 lines (28 loc) • 1.09 kB
TypeScript
/**
* Hook for managing URL query parameters
* @template TParams - The shape of the query parameters.
* @param {object} [options] - Configuration options.
* @param {boolean} [options.deleteFalseValues=false] - Whether to delete the parameter if the parameter value is a false value.
* @param {'replace' | 'push'} [options.method='push'] - Method to use for history updates.
* @returns {object} - An object containing methods to set, append, get, delete query parameters and searchParams.
*/
declare const useStatefulParams: <TParams extends Record<string, any>>(options?: {
method?: "replace" | "push";
deleteFalseValues?: boolean;
}) => {
set: (params: Partial<TParams>) => {
[k: string]: string;
};
append: (params: Partial<TParams>) => {
[k: string]: string;
};
deleteParam: (keys: keyof TParams | (keyof TParams)[]) => {
[k: string]: string;
};
clear: () => {
[k: string]: string;
};
get: <K extends keyof TParams>(key: K) => TParams[K] | null;
searchParams: TParams;
};
export { useStatefulParams };