react-elegant-ui
Version:
Elegant UI components, made by BEM best practices for react
10 lines • 441 B
JavaScript
import { useEffect, useLayoutEffect } from 'react';
import { canUseDOM } from '../lib/canUseDOM';
/**
* Use `useEffect` for SSR and `useLayoutEffect` on client to avoid warning
*/
export function useIsomorphicLayoutEffect(fn, deps) {
// deps must be spread, hence ignore linter
// eslint-disable-next-line react-hooks/rules-of-hooks, react-hooks/exhaustive-deps
return canUseDOM() ? useLayoutEffect(fn, deps) : useEffect(fn, deps);
}