Initial commit

This commit is contained in:
2025-03-07 19:22:02 +01:00
commit 4a98255d83
55743 changed files with 5280367 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
import * as React from "react";
import { getCurrentOwner } from "./useIsStrictMode";
// we know strict mode will render useMemo facory twice
// keep a weak set to detect when the second render happens
const memoSet = new WeakSet();
export function useStrictMemo<TMemoized>(
factory: () => any,
deps: React.DependencyList | undefined,
): TMemoized | null {
return React.useMemo(() => {
const currentOwner = getCurrentOwner();
if (!memoSet.has(currentOwner)) {
memoSet.add(currentOwner);
return null;
}
return factory();
}, deps);
}