next-query-params
Version:
Convenient state management of query parameters in Next.js apps.
45 lines (40 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var navigation = require('next/navigation');
var react = require('react');
function NextAdapterApp(_ref) {
var children = _ref.children;
var router = navigation.useRouter();
var pathname = navigation.usePathname();
var searchParams = navigation.useSearchParams();
var adapter = react.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);
}
exports["default"] = NextAdapterApp;
//# sourceMappingURL=app.cjs.development.js.map