UNPKG

@chakra-ui/hooks

Version:

React hooks for Chakra components

24 lines (21 loc) 565 B
'use client'; import { useRef, useEffect } from 'react'; const useUpdateEffect = (effect, deps) => { const renderCycleRef = useRef(false); const effectCycleRef = useRef(false); useEffect(() => { const isMounted = renderCycleRef.current; const shouldRun = isMounted && effectCycleRef.current; if (shouldRun) { return effect(); } effectCycleRef.current = true; }, deps); useEffect(() => { renderCycleRef.current = true; return () => { renderCycleRef.current = false; }; }, []); }; export { useUpdateEffect };