use-state-in-url
Version:
React hook to keep state in URL for deep linking
27 lines • 885 B
TypeScript
import { Param } from "./serializeParams";
import { parseSearch, buildSearch, SearchParams } from "./urlUtils";
export interface Location {
pathname: string;
search: string;
}
export type Navigate = (url: string) => void;
type ParamConfig<T> = string | Param<T>;
export declare function useStateInUrl<T>(param: ParamConfig<T>, opts: {
location: Location;
navigate: Navigate;
}): [
T,
(value: T) => void,
(value: T | undefined) => (params: SearchParams) => SearchParams
];
export declare function useBatchUpdate(opts: {
location: Location;
navigate: Navigate;
}): {
batchUpdate: (updates: Array<(params: SearchParams) => SearchParams>, options?: {
includeExisting?: boolean;
path?: string;
}) => void;
};
export { parseSearch as parseQueryString, buildSearch as createQueryString };
//# sourceMappingURL=useStateInUrl.d.ts.map