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
+23
View File
@@ -0,0 +1,23 @@
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 effectSet = new WeakSet();
export function useStrictEffect(
effect: () => () => void,
deps: React.DependencyList | undefined,
) {
const currentOwner = getCurrentOwner();
React.useEffect(() => {
if (!effectSet.has(currentOwner)) {
effectSet.add(currentOwner);
effect();
return;
}
const dispose = effect();
return dispose;
}, deps);
}