Skip to content

Commit 1aa664e

Browse files
committed
Improve route matching fallback and optimize imports in components.tsx
1 parent 30f0866 commit 1aa664e

File tree

2 files changed

+29
-29
lines changed

2 files changed

+29
-29
lines changed

.changeset/chatty-weeks-look.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@solidjs/router": patch
3+
---
4+
5+
- Improve route matching fallback
6+
- Optimize imports

src/routers/components.tsx

Lines changed: 23 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,27 @@
11
/*@refresh skip*/
22

3-
import type { Component, JSX, Owner } from "solid-js";
4-
import { type RequestEvent, getRequestEvent, isServer } from "solid-js/web";
3+
import type {Component, JSX, Owner} from "solid-js";
4+
import {children, createMemo, createRoot, getOwner, mergeProps, on, Show, untrack} from "solid-js";
5+
import {getRequestEvent, isServer, type RequestEvent} from "solid-js/web";
56
import {
6-
children,
7-
createMemo,
8-
createRoot,
9-
getOwner,
10-
mergeProps,
11-
on,
12-
Show,
13-
untrack
14-
} from "solid-js";
15-
import {
16-
createBranches,
17-
createRouteContext,
18-
createRouterContext,
19-
getIntent,
20-
getRouteMatches,
21-
RouteContextObj,
22-
RouterContextObj,
23-
setInPreloadFn
7+
createBranches,
8+
createRouteContext,
9+
createRouterContext,
10+
getIntent,
11+
getRouteMatches,
12+
RouteContextObj,
13+
RouterContextObj,
14+
setInPreloadFn
2415
} from "../routing.js";
2516
import type {
26-
MatchFilters,
27-
RouteContext,
28-
RouteDefinition,
29-
RouterIntegration,
30-
RouterContext,
31-
Branch,
32-
RouteSectionProps,
33-
RoutePreloadFunc
17+
Branch,
18+
MatchFilters,
19+
RouteContext,
20+
RouteDefinition,
21+
RoutePreloadFunc,
22+
RouterContext,
23+
RouterIntegration,
24+
RouteSectionProps
3425
} from "../types.js";
3526

3627
export type BaseRouterProps = {
@@ -142,7 +133,10 @@ function Routes(props: { routerState: RouterContext; branches: Branch[] }) {
142133
props.routerState,
143134
next[i - 1] || props.routerState.base,
144135
createOutlet(() => routeStates()[i + 1]),
145-
() => props.routerState.matches()[i]
136+
() => {
137+
const routeMatches = props.routerState.matches();
138+
return routeMatches[i] ?? routeMatches[0];
139+
}
146140
);
147141
});
148142
}

0 commit comments

Comments
 (0)