@tanstack/react-router 1.36.2 → 1.36.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Transitioner.cjs +1 -1
- package/dist/cjs/Transitioner.cjs.map +1 -1
- package/dist/cjs/router.cjs +14 -14
- package/dist/cjs/router.cjs.map +1 -1
- package/dist/esm/Transitioner.js +1 -1
- package/dist/esm/Transitioner.js.map +1 -1
- package/dist/esm/router.js +14 -14
- package/dist/esm/router.js.map +1 -1
- package/package.json +1 -1
- package/src/Transitioner.tsx +1 -1
- package/src/router.ts +22 -18
package/src/router.ts
CHANGED
|
@@ -1558,7 +1558,7 @@ export class Router<
|
|
|
1558
1558
|
redirect = err
|
|
1559
1559
|
if (!this.isServer) {
|
|
1560
1560
|
this.navigate({ ...err, replace: true, __isRedirect: true })
|
|
1561
|
-
this.load()
|
|
1561
|
+
// this.load()
|
|
1562
1562
|
}
|
|
1563
1563
|
} else if (isNotFound(err)) {
|
|
1564
1564
|
notFound = err
|
|
@@ -1783,28 +1783,32 @@ export class Router<
|
|
|
1783
1783
|
parentMatch?.context ?? this.options.context ?? {}
|
|
1784
1784
|
|
|
1785
1785
|
// Make sure the match has parent context set before going further
|
|
1786
|
-
matches[index] = match =
|
|
1786
|
+
matches[index] = match = {
|
|
1787
1787
|
...match,
|
|
1788
1788
|
routeContext: replaceEqualDeep(
|
|
1789
1789
|
match.routeContext,
|
|
1790
1790
|
parentContext,
|
|
1791
1791
|
),
|
|
1792
|
+
context: replaceEqualDeep(match.context, parentContext),
|
|
1792
1793
|
abortController,
|
|
1793
|
-
}
|
|
1794
|
+
}
|
|
1795
|
+
|
|
1796
|
+
const beforeLoadFnContext = {
|
|
1797
|
+
search: match.search,
|
|
1798
|
+
abortController,
|
|
1799
|
+
params: match.params,
|
|
1800
|
+
preload: !!preload,
|
|
1801
|
+
context: match.routeContext,
|
|
1802
|
+
location,
|
|
1803
|
+
navigate: (opts: any) =>
|
|
1804
|
+
this.navigate({ ...opts, _fromLocation: location }),
|
|
1805
|
+
buildLocation: this.buildLocation,
|
|
1806
|
+
cause: preload ? 'preload' : match.cause,
|
|
1807
|
+
}
|
|
1794
1808
|
|
|
1795
|
-
const beforeLoadContext =
|
|
1796
|
-
(await route.options.beforeLoad
|
|
1797
|
-
|
|
1798
|
-
abortController,
|
|
1799
|
-
params: match.params,
|
|
1800
|
-
preload: !!preload,
|
|
1801
|
-
context: parentContext,
|
|
1802
|
-
location,
|
|
1803
|
-
navigate: (opts: any) =>
|
|
1804
|
-
this.navigate({ ...opts, _fromLocation: location }),
|
|
1805
|
-
buildLocation: this.buildLocation,
|
|
1806
|
-
cause: preload ? 'preload' : match.cause,
|
|
1807
|
-
})) ?? ({} as any)
|
|
1809
|
+
const beforeLoadContext = route.options.beforeLoad
|
|
1810
|
+
? (await route.options.beforeLoad(beforeLoadFnContext)) ?? {}
|
|
1811
|
+
: {}
|
|
1808
1812
|
|
|
1809
1813
|
checkLatest()
|
|
1810
1814
|
|
|
@@ -1860,7 +1864,7 @@ export class Router<
|
|
|
1860
1864
|
route,
|
|
1861
1865
|
}
|
|
1862
1866
|
|
|
1863
|
-
const
|
|
1867
|
+
const fetchAndResolveInLoaderLifetime = async () => {
|
|
1864
1868
|
const existing = getRouteMatch(this.state, match.id)!
|
|
1865
1869
|
let lazyPromise = Promise.resolve()
|
|
1866
1870
|
let componentsPromise = Promise.resolve() as Promise<any>
|
|
@@ -2035,7 +2039,7 @@ export class Router<
|
|
|
2035
2039
|
|
|
2036
2040
|
const fetchWithRedirectAndNotFound = async () => {
|
|
2037
2041
|
try {
|
|
2038
|
-
await
|
|
2042
|
+
await fetchAndResolveInLoaderLifetime()
|
|
2039
2043
|
} catch (err) {
|
|
2040
2044
|
checkLatest()
|
|
2041
2045
|
handleRedirectAndNotFound(match, err)
|