UNPKG

ra-core

Version:

Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React

22 lines (20 loc) 714 B
import { useRouterProvider } from './RouterProviderContext'; import type { RouterBlocker, RouterBlockerFunction } from './RouterProvider'; /** * Hook to block navigation based on a condition. * This is a router-agnostic wrapper that uses the configured router provider. * Used by useWarnWhenUnsavedChanges to prevent losing form data. * * @example * const blocker = useBlocker(shouldBlock); * if (blocker.state === 'blocked') { * // Show confirmation dialog * blocker.proceed(); // or blocker.reset(); * } */ export const useBlocker = ( shouldBlock: RouterBlockerFunction | boolean ): RouterBlocker => { const provider = useRouterProvider(); return provider.useBlocker(shouldBlock); };