mirror of
https://github.com/grafana/grafana.git
synced 2025-07-29 23:52:19 +08:00

* Routing: Import useLocation from compat package * Add ComparRouter * Add CompatRouter * Fix tests * Add CompatRouter to TestProvider * Use findBy * Remove AppChromeService * Remove historyOptions * Routing: Fix alerting/test utils issues from react compat router usage (#92127) * Use render from test-utils * Use compat router * Convert more tests --------- Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
13 lines
602 B
TypeScript
13 lines
602 B
TypeScript
import { useCallback, useMemo } from 'react';
|
|
import { useLocation } from 'react-router-dom-v5-compat';
|
|
|
|
import { UrlQueryMap } from '@grafana/data';
|
|
import { locationSearchToObject, locationService } from '@grafana/runtime';
|
|
|
|
export function useQueryParams(): [UrlQueryMap, (values: UrlQueryMap, replace?: boolean) => void] {
|
|
const { search } = useLocation();
|
|
const queryParams = useMemo(() => locationSearchToObject(search || ''), [search]);
|
|
const update = useCallback((values: UrlQueryMap, replace?: boolean) => locationService.partial(values, replace), []);
|
|
return [queryParams, update];
|
|
}
|