rebuild hrm

This commit is contained in:
2026-04-13 09:30:59 +08:00
parent 44a98495ab
commit cd31c74da8
12034 changed files with 548007 additions and 451275 deletions

View File

@@ -11,11 +11,13 @@
*/
import {EffectCallback, useEffect, useRef} from 'react';
import {useEffectEvent} from './useEffectEvent';
// Like useEffect, but only called for updates after the initial render.
export function useUpdateEffect(effect: EffectCallback, dependencies: any[]) {
export function useUpdateEffect(cb: EffectCallback, dependencies: any[]): void {
const isInitialMount = useRef(true);
const lastDeps = useRef<any[] | null>(null);
let cbEvent = useEffectEvent(cb);
useEffect(() => {
isInitialMount.current = true;
@@ -25,12 +27,13 @@ export function useUpdateEffect(effect: EffectCallback, dependencies: any[]) {
}, []);
useEffect(() => {
let prevDeps = lastDeps.current;
if (isInitialMount.current) {
isInitialMount.current = false;
} else if (!lastDeps.current || dependencies.some((dep, i) => !Object.is(dep, lastDeps[i]))) {
effect();
} else if (!prevDeps || dependencies.some((dep, i) => !Object.is(dep, prevDeps[i]))) {
cbEvent();
}
lastDeps.current = dependencies;
// eslint-disable-next-line react-hooks/exhaustive-deps
// eslint-disable-next-line react-hooks/exhaustive-deps
}, dependencies);
}