Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@sushiswap/hooks / dist / useEffectDebugger.js
Size: Mime:
import { useEffect } from 'react';
import { usePrevious } from './usePrevious';
export const useEffectDebugger = (effectHook, dependencies, dependencyNames = []) => {
    const previousDeps = usePrevious(dependencies, []);
    const changedDeps = dependencies.reduce((accum, dependency, index) => {
        if (dependency !== previousDeps[index]) {
            const keyName = dependencyNames[index] || index;
            return Object.assign(Object.assign({}, accum), { [keyName]: {
                    before: previousDeps[index],
                    after: dependency,
                } });
        }
        return accum;
    }, {});
    if (Object.keys(changedDeps).length) {
        console.log('[use-effect-debugger] ', changedDeps);
    }
    useEffect(effectHook, dependencies);
};