Files
explore/lib/router/updateQueryParam.ts
T

13 lines
451 B
TypeScript

import type { NextRouter } from 'next/router';
export default function updateQueryParam(router: NextRouter, param: string, newValue: string) {
const { pathname, query, asPath } = router;
const newQuery = { ...query };
newQuery[param] = newValue;
const hashIndex = asPath.indexOf('#');
const hash = hashIndex !== -1 ? asPath.substring(hashIndex) : '';
router.replace({ pathname, query: newQuery, hash }, undefined, { shallow: true });
}