rebuild hrm
This commit is contained in:
11
node_modules/@react-aria/utils/src/useUpdateEffect.ts
generated
vendored
11
node_modules/@react-aria/utils/src/useUpdateEffect.ts
generated
vendored
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user