useBoolean, useStateWithReset - Add hooks

This commit is contained in:
2019-12-31 15:07:10 +05:30
parent e6f65acede
commit 05e8c385e4
2 changed files with 26 additions and 0 deletions
+14
View File
@@ -0,0 +1,14 @@
import { useState, useCallback } from "react";
const useBoolean = (initial: boolean) => {
const [value, setValue] = useState<boolean>(initial);
return {
value,
setValue,
toggle: useCallback(() => setValue(v => !v), []),
setTrue: useCallback(() => setValue(true), []),
setFalse: useCallback(() => setValue(false), [])
};
};
export default useBoolean;
+12
View File
@@ -0,0 +1,12 @@
import { useState, useCallback } from "react";
const useStateWithReset = <TValue>(initial: TValue) => {
const [value, setValue] = useState<TValue>(initial);
return {
value,
setValue,
reset: useCallback(() => setValue(initial), [])
};
};
export default useStateWithReset;