import { useLayoutEffect } from '../lib/teact/teact'; import usePrevious from './usePrevious'; const useLayoutEffectWithPrevDeps = ( cb: (args: PT) => void, dependencies: T, debugKey?: string, ) => { const prevDeps = usePrevious(dependencies); return useLayoutEffect(() => { // @ts-ignore (workaround for "could be instantiated with a different subtype" issue) return cb(prevDeps || []); // eslint-disable-next-line react-hooks/exhaustive-deps }, dependencies, debugKey); }; export default useLayoutEffectWithPrevDeps;