瀏覽代碼

新增baseHook

wyling007 3 年之前
父節點
當前提交
6c9e6758a0
共有 1 個文件被更改,包括 10 次插入0 次删除
  1. 10 0
      src/hooks/base/useState.ts

+ 10 - 0
src/hooks/base/useState.ts

@@ -0,0 +1,10 @@
+import { ref } from "vue";
+import type { Ref, UnwrapRef } from "vue";
+
+export type ReturnUseState<T> = [Ref<UnwrapRef<T>>, (newValue: UnwrapRef<T>) => UnwrapRef<T>];
+
+export default function useState<T>(value: T): ReturnUseState<T> {
+	const state = ref(value);
+	const setState = (newValue: UnwrapRef<T>) => (state.value = newValue);
+	return [state, setState];
+}