TelegramPWA/src/hooks/useSyncEffect.ts
2023-03-30 18:28:50 -05:00

11 lines
336 B
TypeScript

import usePrevious from './usePrevious';
const useSyncEffect = <const T extends readonly any[]>(cb: (args: T | readonly []) => void, dependencies: T) => {
const prevDeps = usePrevious<T>(dependencies);
if (!prevDeps || dependencies.some((d, i) => d !== prevDeps[i])) {
cb(prevDeps || []);
}
};
export default useSyncEffect;