grafana/public/app/core/hooks/useQueryParams.ts
Ashley Harrison cc9151d382
Dependencies: Jest 27 (#42681)
* Update jest monorepo

* Update version of marked so it doesn't throw an error, set testEnvironment

* Fix some unit tests

* Remove all these tests that aren't actually working...

* use spyOn instead of mocking the whole module

* Fix linting

Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-03 17:09:25 +00:00

12 lines
591 B
TypeScript

import { UrlQueryMap } from '@grafana/data';
import { locationSearchToObject, locationService } from '@grafana/runtime';
import { useCallback, useMemo } from 'react';
import { useLocation } from 'react-router-dom';
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];
}