mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-17 13:20:31 +00:00
27 lines
620 B
JavaScript
27 lines
620 B
JavaScript
import {useRef, useEffect} from 'react';
|
|
import useAsync from './async';
|
|
|
|
// import use from 'async';
|
|
|
|
/**
|
|
* A custom useEffect hook that only triggers on updates, not on initial mount
|
|
* Idea stolen from: https://stackoverflow.com/a/55075818/1526448
|
|
* @param {Function} effect
|
|
* @param {Array<any>} dependencies
|
|
*/
|
|
export function useUpdateEffect(effect, dependencies = []) {
|
|
const isInitialMount = useRef(true);
|
|
|
|
useEffect(() => {
|
|
if (isInitialMount.current) {
|
|
isInitialMount.current = false;
|
|
} else {
|
|
effect();
|
|
}
|
|
}, dependencies);
|
|
}
|
|
|
|
export default {
|
|
useAsync,
|
|
useUpdateEffect,
|
|
} |