UNPKG

@restart/hooks

Version:

A set of utility and general-purpose React hooks.

17 lines (16 loc) 547 B
import { useEffect, useLayoutEffect } from 'react'; const isReactNative = typeof global !== 'undefined' && // @ts-ignore global.navigator && // @ts-ignore global.navigator.product === 'ReactNative'; const isDOM = typeof document !== 'undefined'; /** * Is `useLayoutEffect` in a DOM or React Native environment, otherwise resolves to useEffect * Only useful to avoid the console warning. * * PREFER `useEffect` UNLESS YOU KNOW WHAT YOU ARE DOING. * * @category effects */ export default isDOM || isReactNative ? useLayoutEffect : useEffect;