mirror of
https://github.com/Unleash/unleash.git
synced 2024-11-01 19:07:38 +01:00
20 lines
572 B
TypeScript
20 lines
572 B
TypeScript
|
import { useCallback } from 'react';
|
||
|
import { useQueryStringState } from './useQueryStringState';
|
||
|
|
||
|
// Store a number in the query string. Call setState to update the query string.
|
||
|
export const useQueryStringNumberState = (
|
||
|
key: string
|
||
|
): [number | undefined, (value: number) => void] => {
|
||
|
const [value, setValue] = useQueryStringState(key);
|
||
|
|
||
|
const setState = useCallback(
|
||
|
(value: number) => setValue(String(value)),
|
||
|
[setValue]
|
||
|
);
|
||
|
|
||
|
return [
|
||
|
Number.isFinite(Number(value)) ? Number(value) : undefined,
|
||
|
setState,
|
||
|
];
|
||
|
};
|