react-use/src/useDefault.ts
Alexey Bojhev 83f4c466b0
Typings for useDefault
Added generic type for `useDefault` state
2020-01-18 21:20:05 +03:00

14 lines
395 B
TypeScript

import { useState } from 'react';
const useDefault = <TStateType>(defaultValue: TStateType, initialValue: TStateType | (() => TStateType)) => {
const [value, setValue] = useState<TStateType | undefined | null>(initialValue);
if (value === undefined || value === null) {
return [defaultValue, setValue] as const;
}
return [value, setValue] as const;
};
export default useDefault;