// Skip effect conditionally useSkipEffect( () => console.log('[Skippable] Effect ran, count:', count); // You can return cleanup function return () => console.log('[Skippable] Cleanup'); , [count], condition: skipEffects, debug: true );
// hooks/useSkipState.ts import useState, useCallback, useRef from 'react'; interface SkipStateOptions<T> initialState: T; skipUpdates?: boolean; onSkip?: (value: T) => void; onUpdate?: (value: T) => void;
// hooks/useConditionalHook.ts import useRef, useEffect, DependencyList from 'react'; export type SkipStrategy = 'once' | 'always' | 'untilChange';
return result + count; , [count], condition: skipEffects, debug: true );
strategy: 'once', condition: skipEffects, onSkip: () => console.log('[Conditional] Skipped execution'), onExecute: () => console.log('[Conditional] Executing effect'),