diff --git a/.changeset/sour-rice-repeat.md b/.changeset/sour-rice-repeat.md new file mode 100644 index 000000000..198bef824 --- /dev/null +++ b/.changeset/sour-rice-repeat.md @@ -0,0 +1,5 @@ +--- +'@granite-js/react-native': patch +--- + +return \_404 when initialScheme doesn't match prefix diff --git a/packages/react-native/src/router/hooks/useInitialRouteName.tsx b/packages/react-native/src/router/hooks/useInitialRouteName.tsx index 6b0b9e090..642b4cea2 100644 --- a/packages/react-native/src/router/hooks/useInitialRouteName.tsx +++ b/packages/react-native/src/router/hooks/useInitialRouteName.tsx @@ -5,6 +5,10 @@ export function useInitialRouteName({ prefix, initialScheme }: { prefix: string; return '/'; } + if (!initialScheme.startsWith(prefix)) { + return '_404'; + } + const pathname = removeTrailingSlash(initialScheme).slice(prefix.length).split('?')[0]; const shouldUseIndex = pathname?.length === 0;