UNPKG

@react-navigation/native-stack

Version:
20 lines (19 loc) 1.12 kB
"use strict"; import { usePreventRemoveContext } from '@react-navigation/native'; import * as React from 'react'; export function useInvalidPreventRemoveError(descriptors) { const { preventedRoutes } = usePreventRemoveContext(); const preventedRouteKey = Object.keys(preventedRoutes)[0]; const preventedDescriptor = descriptors[preventedRouteKey]; const isHeaderBackButtonMenuEnabledOnPreventedScreen = preventedDescriptor?.options?.headerBackButtonMenuEnabled; const preventedRouteName = preventedDescriptor?.route?.name; React.useEffect(() => { if (preventedRouteKey != null && isHeaderBackButtonMenuEnabledOnPreventedScreen) { const message = `The screen ${preventedRouteName} uses 'usePreventRemove' hook alongside 'headerBackButtonMenuEnabled: true', which is not supported. \n\n` + `Consider removing 'headerBackButtonMenuEnabled: true' from ${preventedRouteName} screen to get rid of this error.`; console.error(message); } }, [preventedRouteKey, isHeaderBackButtonMenuEnabledOnPreventedScreen, preventedRouteName]); } //# sourceMappingURL=useInvalidPreventRemoveError.js.map