feat: Typings for useDefault

This commit is contained in:
Vadim Dalecky 2020-01-20 00:24:55 -08:00 committed by GitHub
commit fa0f53bf86
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,13 +1,13 @@
import { useState } from 'react';
const useDefault = (defaultValue, initialValue): [any, (nextValue?: any) => void] => {
const [value, setValue] = useState(initialValue);
const useDefault = <TStateType>(defaultValue: TStateType, initialValue: TStateType | (() => TStateType)) => {
const [value, setValue] = useState<TStateType | undefined | null>(initialValue);
if (value === undefined || value === null) {
return [defaultValue, setValue];
return [defaultValue, setValue] as const;
}
return [value, setValue];
return [value, setValue] as const;
};
export default useDefault;