summaryrefslogtreecommitdiff
path: root/src/hooks/basic.ts
diff options
context:
space:
mode:
authorMatain <[email protected]>2022-06-12 23:34:56 +0800
committerMatain <[email protected]>2022-06-12 23:34:56 +0800
commitea5d7cf003eeef30cb7bbe789c6ba7f314bf1ce4 (patch)
treebff1bd7b0e8e8eb753d373b57f007bbe97f96c76 /src/hooks/basic.ts
parent4fd2c8f646e48dd0c07d0c2041de52e9a4f8bc82 (diff)
parent38571da24ac54137564be5e41b7a409009e2ee10 (diff)
Merge branch 'master' of https://github.com/haishanh/yacd into haishanh-master
Diffstat (limited to 'src/hooks/basic.ts')
-rw-r--r--src/hooks/basic.ts9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/hooks/basic.ts b/src/hooks/basic.ts
index 587d92d..1e8aeae 100644
--- a/src/hooks/basic.ts
+++ b/src/hooks/basic.ts
@@ -1,9 +1,14 @@
-import React from 'react';
+import * as React from 'react';
const { useState, useCallback } = React;
-export function useToggle(initialValue = false) {
+export function useToggle(initialValue = false): [boolean, () => void] {
const [isOn, setState] = useState(initialValue);
const toggle = useCallback(() => setState((x) => !x), []);
return [isOn, toggle];
}
+
+export function useState2<T>(v: T) {
+ const [value, set] = useState(v);
+ return { value, set };
+}