Initial project bootstrap

这个提交包含在:
Manus
2026-03-12 20:28:28 -04:00
当前提交 ef41bdbe86
修改 82 个文件,包含 15581 行新增0 行删除

查看文件

@@ -0,0 +1,20 @@
import { useRef } from "react";
type noop = (...args: any[]) => any;
/**
* usePersistFn instead of useCallback to reduce cognitive load
*/
export function usePersistFn<T extends noop>(fn: T) {
const fnRef = useRef<T>(fn);
fnRef.current = fn;
const persistFn = useRef<T>(null);
if (!persistFn.current) {
persistFn.current = function (this: unknown, ...args) {
return fnRef.current!.apply(this, args);
} as T;
}
return persistFn.current!;
}