@react-navigation/native
Version:
React Native integration for React Navigation
30 lines (28 loc) • 980 B
JavaScript
import { getPathFromState, useStateForPath } from '@react-navigation/core';
import * as React from 'react';
import { LinkingContext } from "./LinkingContext.js";
/**
* Hook to get the path for the current route based on linking options.
*
* @returns Path for the current route.
*/
export function useRoutePath() {
const {
options
} = React.useContext(LinkingContext);
const state = useStateForPath();
if (state === undefined) {
throw new Error("Couldn't find a state for the route object. Is your component inside a screen in a navigator?");
}
const getPathFromStateHelper = options?.getPathFromState ?? getPathFromState;
const path = React.useMemo(() => {
if (options?.enabled === false) {
return undefined;
}
const path = getPathFromStateHelper(state, options?.config);
return path;
}, [options?.enabled, options?.config, state, getPathFromStateHelper]);
return path;
}
//# sourceMappingURL=useRoutePath.js.map
;