UNPKG

next-query-params

Version:

Convenient state management of query parameters in Next.js apps.

41 lines (38 loc) 1.03 kB
import { useRouter, usePathname, useSearchParams } from 'next/navigation'; import { useMemo } from 'react'; function NextAdapterApp(_ref) { var children = _ref.children; var router = useRouter(); var pathname = usePathname(); var searchParams = useSearchParams(); var adapter = useMemo(function () { function getUrl(location) { var url = pathname; if (location.search) { url += location.search; } if (window.location.hash) { url += window.location.hash; } return url; } return { replace: function replace(location) { router.replace(getUrl(location), { scroll: false }); }, push: function push(location) { router.push(getUrl(location), { scroll: false }); }, location: { search: searchParams.toString() } }; }, [searchParams, pathname, router]); return children(adapter); } export { NextAdapterApp as default }; //# sourceMappingURL=app.esm.js.map