@react-navigation/routers 7.6.3 → 7.6.5
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/lib/module/StackRouter.js +32 -14
- package/lib/module/StackRouter.js.map +1 -1
- package/lib/module/SwitchRouter.js +42 -10
- package/lib/module/SwitchRouter.js.map +1 -1
- package/lib/typescript/src/StackRouter.d.ts.map +1 -1
- package/lib/typescript/src/SwitchRouter.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/StackRouter.tsx +37 -12
- package/src/SwitchRouter.tsx +80 -15
|
@@ -121,6 +121,7 @@ export function StackRouter(options) {
|
|
|
121
121
|
routeKeyChanges
|
|
122
122
|
}) {
|
|
123
123
|
const routes = state.routes.filter(route => routeNames.includes(route.name) && !routeKeyChanges.includes(route.name));
|
|
124
|
+
const preloadedRoutes = state.preloadedRoutes.filter(route => routeNames.includes(route.name) && !routeKeyChanges.includes(route.name));
|
|
124
125
|
if (routes.length === 0) {
|
|
125
126
|
const initialRouteName = options.initialRouteName !== undefined && routeNames.includes(options.initialRouteName) ? options.initialRouteName : routeNames[0];
|
|
126
127
|
routes.push({
|
|
@@ -133,6 +134,7 @@ export function StackRouter(options) {
|
|
|
133
134
|
...state,
|
|
134
135
|
routeNames,
|
|
135
136
|
routes,
|
|
137
|
+
preloadedRoutes,
|
|
136
138
|
index: Math.min(state.index, routes.length - 1)
|
|
137
139
|
};
|
|
138
140
|
},
|
|
@@ -377,9 +379,15 @@ export function StackRouter(options) {
|
|
|
377
379
|
params: action.payload.params
|
|
378
380
|
});
|
|
379
381
|
if (id !== undefined) {
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
382
|
+
for (let i = currentIndex; i >= 0; i--) {
|
|
383
|
+
const route = state.routes[i];
|
|
384
|
+
if (route.name === action.payload.name && id === getId?.({
|
|
385
|
+
params: route.params
|
|
386
|
+
})) {
|
|
387
|
+
index = i;
|
|
388
|
+
break;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
383
391
|
} else if (state.routes[currentIndex].name === action.payload.name) {
|
|
384
392
|
index = currentIndex;
|
|
385
393
|
} else {
|
|
@@ -466,6 +474,10 @@ export function StackRouter(options) {
|
|
|
466
474
|
const id = getId?.({
|
|
467
475
|
params: action.payload.params
|
|
468
476
|
});
|
|
477
|
+
const params = createParamsFromAction({
|
|
478
|
+
action,
|
|
479
|
+
routeParamList
|
|
480
|
+
});
|
|
469
481
|
let route;
|
|
470
482
|
if (id !== undefined) {
|
|
471
483
|
route = state.routes.find(route => route.name === action.payload.name && id === getId?.({
|
|
@@ -481,24 +493,30 @@ export function StackRouter(options) {
|
|
|
481
493
|
}
|
|
482
494
|
return {
|
|
483
495
|
...r,
|
|
484
|
-
params
|
|
485
|
-
action,
|
|
486
|
-
routeParamList
|
|
487
|
-
})
|
|
496
|
+
params
|
|
488
497
|
};
|
|
489
498
|
})
|
|
490
499
|
};
|
|
491
|
-
}
|
|
500
|
+
}
|
|
501
|
+
const preloadedRoute = state.preloadedRoutes.findLast(route => route.name === action.payload.name && id === getId?.({
|
|
502
|
+
params: route.params
|
|
503
|
+
}));
|
|
504
|
+
if (preloadedRoute) {
|
|
492
505
|
return {
|
|
493
506
|
...state,
|
|
494
|
-
preloadedRoutes: state.preloadedRoutes.
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
routeParamList
|
|
499
|
-
}))
|
|
507
|
+
preloadedRoutes: state.preloadedRoutes.map(route => route.key === preloadedRoute.key ? {
|
|
508
|
+
...route,
|
|
509
|
+
params
|
|
510
|
+
} : route)
|
|
500
511
|
};
|
|
501
512
|
}
|
|
513
|
+
return {
|
|
514
|
+
...state,
|
|
515
|
+
preloadedRoutes: state.preloadedRoutes.concat(createRouteFromAction({
|
|
516
|
+
action,
|
|
517
|
+
routeParamList
|
|
518
|
+
}))
|
|
519
|
+
};
|
|
502
520
|
}
|
|
503
521
|
default:
|
|
504
522
|
return BaseRouter.getStateForAction(state, action);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["nanoid","BaseRouter","createParamsFromAction","createRouteFromAction","StackActions","replace","name","params","type","payload","push","pop","count","popToTop","popTo","options","console","warn","merge","StackRouter","router","getInitialState","routeNames","routeParamList","initialRouteName","undefined","includes","stale","key","index","preloadedRoutes","routes","getRehydratedState","partialState","state","filter","route","map","length","getStateForRouteNamesChange","routeKeyChanges","Math","min","getStateForRouteFocus","findIndex","r","slice","getStateForAction","action","currentIndex","target","source","getId","routeGetIdList","id","find","i","findLast","currentRoute","path","findLastIndex","max","concat","actionCreators"],"sourceRoot":"../../src","sources":["StackRouter.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["nanoid","BaseRouter","createParamsFromAction","createRouteFromAction","StackActions","replace","name","params","type","payload","push","pop","count","popToTop","popTo","options","console","warn","merge","StackRouter","router","getInitialState","routeNames","routeParamList","initialRouteName","undefined","includes","stale","key","index","preloadedRoutes","routes","getRehydratedState","partialState","state","filter","route","map","length","getStateForRouteNamesChange","routeKeyChanges","Math","min","getStateForRouteFocus","findIndex","r","slice","getStateForAction","action","currentIndex","target","source","getId","routeGetIdList","id","find","i","findLast","currentRoute","path","findLastIndex","max","concat","preloadedRoute","actionCreators"],"sourceRoot":"../../src","sources":["StackRouter.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -55,6 +55,16 @@ const changeIndex = (state, index, backBehavior, initialRouteName) => {
|
|
|
55
55
|
} else if (backBehavior === 'fullHistory') {
|
|
56
56
|
const lastHistoryRouteItemIndex = history.findLastIndex(item => item.type === 'route');
|
|
57
57
|
const lastHistoryRouteItem = history[lastHistoryRouteItemIndex];
|
|
58
|
+
if (lastHistoryRouteItem?.type === 'route' && currentRoute.key !== lastHistoryRouteItem.key) {
|
|
59
|
+
const previousRoute = state.routes.find(route => route.key === lastHistoryRouteItem.key);
|
|
60
|
+
if (previousRoute != null && previousRoute.params !== lastHistoryRouteItem.params) {
|
|
61
|
+
history = [...history];
|
|
62
|
+
history[lastHistoryRouteItemIndex] = {
|
|
63
|
+
...lastHistoryRouteItem,
|
|
64
|
+
params: previousRoute.params
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
58
68
|
if (lastHistoryRouteItem?.type === 'route' && currentRoute.key === lastHistoryRouteItem.key) {
|
|
59
69
|
// For full-history, only remove if it matches the last route
|
|
60
70
|
// Useful for drawer, if current route was in history, then drawer state changed
|
|
@@ -223,14 +233,18 @@ export function SwitchRouter({
|
|
|
223
233
|
routeParamList
|
|
224
234
|
});
|
|
225
235
|
}
|
|
226
|
-
const path = action.type === 'NAVIGATE' && action.payload.path != null ? action.payload.path : route.path;
|
|
227
|
-
const nextRoute =
|
|
228
|
-
...route,
|
|
236
|
+
const path = action.type === 'NAVIGATE' && action.payload.path != null ? action.payload.path : key === route.key ? route.path : undefined;
|
|
237
|
+
const nextRoute = key !== route.key ? {
|
|
229
238
|
key,
|
|
239
|
+
name: route.name,
|
|
240
|
+
path,
|
|
241
|
+
params
|
|
242
|
+
} : params !== route.params || path !== route.path ? {
|
|
243
|
+
...route,
|
|
230
244
|
path,
|
|
231
245
|
params
|
|
232
246
|
} : route;
|
|
233
|
-
const routes = state.routes.map((item, routeIndex) => routeIndex === index ? nextRoute : item);
|
|
247
|
+
const routes = nextRoute === route ? state.routes : state.routes.map((item, routeIndex) => routeIndex === index ? nextRoute : item);
|
|
234
248
|
const updatedState = {
|
|
235
249
|
...state,
|
|
236
250
|
routes,
|
|
@@ -249,8 +263,11 @@ export function SwitchRouter({
|
|
|
249
263
|
if (nextState !== null) {
|
|
250
264
|
const index = nextState.index;
|
|
251
265
|
if (index != null) {
|
|
252
|
-
const
|
|
253
|
-
|
|
266
|
+
const route = action.source ? nextState.routes.find(route => route.key === action.source) : nextState.routes[index];
|
|
267
|
+
if (route === undefined) {
|
|
268
|
+
return nextState;
|
|
269
|
+
}
|
|
270
|
+
const historyItemIndex = state.history.findLastIndex(item => item.type === 'route' && item.key === route.key);
|
|
254
271
|
let updatedHistory = state.history;
|
|
255
272
|
if (historyItemIndex !== -1) {
|
|
256
273
|
updatedHistory = [...state.history];
|
|
@@ -258,7 +275,7 @@ export function SwitchRouter({
|
|
|
258
275
|
if (item.type === 'route') {
|
|
259
276
|
updatedHistory[historyItemIndex] = {
|
|
260
277
|
...item,
|
|
261
|
-
params:
|
|
278
|
+
params: route.params
|
|
262
279
|
};
|
|
263
280
|
}
|
|
264
281
|
}
|
|
@@ -319,9 +336,12 @@ export function SwitchRouter({
|
|
|
319
336
|
action,
|
|
320
337
|
routeParamList
|
|
321
338
|
});
|
|
322
|
-
const newRoute =
|
|
323
|
-
...route,
|
|
339
|
+
const newRoute = key !== route.key ? {
|
|
324
340
|
key,
|
|
341
|
+
name: route.name,
|
|
342
|
+
params
|
|
343
|
+
} : params !== route.params ? {
|
|
344
|
+
...route,
|
|
325
345
|
params
|
|
326
346
|
} : route;
|
|
327
347
|
let history = state.history;
|
|
@@ -334,11 +354,23 @@ export function SwitchRouter({
|
|
|
334
354
|
params: backBehavior === 'fullHistory' ? newRoute.params : undefined
|
|
335
355
|
});
|
|
336
356
|
}
|
|
357
|
+
} else if (backBehavior === 'fullHistory' && newRoute.params !== route.params) {
|
|
358
|
+
const historyItemIndex = history.findLastIndex(item => item.type === 'route' && item.key === route.key);
|
|
359
|
+
if (historyItemIndex !== -1) {
|
|
360
|
+
history = [...history];
|
|
361
|
+
const item = history[historyItemIndex];
|
|
362
|
+
if (item.type === 'route') {
|
|
363
|
+
history[historyItemIndex] = {
|
|
364
|
+
...item,
|
|
365
|
+
params: newRoute.params
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
}
|
|
337
369
|
}
|
|
338
370
|
return {
|
|
339
371
|
...state,
|
|
340
372
|
preloadedRouteKeys: state.preloadedRouteKeys.filter(key => key !== route.key).concat(newRoute.key),
|
|
341
|
-
routes: state.routes.map((route, index) => index === routeIndex ? newRoute : route),
|
|
373
|
+
routes: newRoute === route ? state.routes : state.routes.map((route, index) => index === routeIndex ? newRoute : route),
|
|
342
374
|
history
|
|
343
375
|
};
|
|
344
376
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["nanoid","BaseRouter","createParamsFromAction","TYPE_ROUTE","getRouteHistory","routes","index","backBehavior","initialRouteName","history","type","key","params","undefined","initialRouteIndex","i","unshift","findIndex","route","name","changeIndex","state","currentRoute","filter","it","lastHistoryRouteItemIndex","findLastIndex","item","lastHistoryRouteItem","slice","concat","SwitchRouter","router","getInitialState","routeNames","routeParamList","includes","indexOf","map","stale","preloadedRouteKeys","getRehydratedState","find","r","Math","min","max","length","routeKeys","push","stateData","getStateForRouteNamesChange","routeKeyChanges","Set","Error","has","previousRouteItem","findLast","getStateForRouteFocus","getStateForAction","action","routeGetIdList","payload","getId","currentId","nextId","merge","path","nextRoute","routeIndex","updatedState","nextState","focusedRoute","historyItemIndex","updatedHistory","previousHistoryItem","previousKey","newRoute","record"],"sourceRoot":"../../src","sources":["SwitchRouter.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["nanoid","BaseRouter","createParamsFromAction","TYPE_ROUTE","getRouteHistory","routes","index","backBehavior","initialRouteName","history","type","key","params","undefined","initialRouteIndex","i","unshift","findIndex","route","name","changeIndex","state","currentRoute","filter","it","lastHistoryRouteItemIndex","findLastIndex","item","lastHistoryRouteItem","previousRoute","find","slice","concat","SwitchRouter","router","getInitialState","routeNames","routeParamList","includes","indexOf","map","stale","preloadedRouteKeys","getRehydratedState","r","Math","min","max","length","routeKeys","push","stateData","getStateForRouteNamesChange","routeKeyChanges","Set","Error","has","previousRouteItem","findLast","getStateForRouteFocus","getStateForAction","action","routeGetIdList","payload","getId","currentId","nextId","merge","path","nextRoute","routeIndex","updatedState","nextState","source","historyItemIndex","updatedHistory","previousHistoryItem","previousKey","newRoute","record"],"sourceRoot":"../../src","sources":["SwitchRouter.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StackRouter.d.ts","sourceRoot":"","sources":["../../../src/StackRouter.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"StackRouter.d.ts","sourceRoot":"","sources":["../../../src/StackRouter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwitchRouter.d.ts","sourceRoot":"","sources":["../../../src/SwitchRouter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,YAAY,EAEZ,mBAAmB,EACpB,MAAM,YAAS,CAAC;AAEjB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG;IACvD;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,KAAK,YAAY,GACb,YAAY,GACZ,cAAc,GACd,OAAO,GACP,SAAS,GACT,aAAa,GACb,MAAM,CAAC;AAEX,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC3B,CAAC;AAEF,KAAK,iBAAiB,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,MAAM,CAAC,GAAG;IAC5E,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,GAAG,EAAE,iBAAiB,CAAC,YAAY,CAAC,GAAG;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,CAAC;IACvD,MAAM,EAAE,iBAAiB,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG;QACxD,IAAI,EAAE,QAAQ,CAAC;QACf,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;KAClC,CAAC;CACH,CAAC;AAEF,KAAK,gBAAgB,GAAG,KAAK,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"SwitchRouter.d.ts","sourceRoot":"","sources":["../../../src/SwitchRouter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,YAAY,EAEZ,mBAAmB,EACpB,MAAM,YAAS,CAAC;AAEjB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG;IACvD;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,KAAK,YAAY,GACb,YAAY,GACZ,cAAc,GACd,OAAO,GACP,SAAS,GACT,aAAa,GACb,MAAM,CAAC;AAEX,KAAK,YAAY,GAAG;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC3B,CAAC;AAEF,KAAK,iBAAiB,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,MAAM,CAAC,GAAG;IAC5E,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,GAAG,EAAE,iBAAiB,CAAC,YAAY,CAAC,GAAG;QAAE,IAAI,EAAE,KAAK,CAAA;KAAE,CAAC;IACvD,MAAM,EAAE,iBAAiB,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG;QACxD,IAAI,EAAE,QAAQ,CAAC;QACf,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;KAClC,CAAC;CACH,CAAC;AAEF,KAAK,gBAAgB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAuIzC,wBAAgB,YAAY,CAAC,IAAI,SAAS,gBAAgB,EAAE,EAC1D,gBAAgB,EAChB,YAA2B,GAC5B,EAAE,mBAAmB;;;;;kBA3LpB,CAAA;gBACA,CAAA;iBAGF,CADA;eACiB,CAAC;;;;;;;;kBAIC,CAAC;iBAAmB,CAAC;;;;;qDA4LjC,mBAAmB,GAAG,iBAAiB,CAAC,YAAY,CAAC;8BAwB/C,YAAY,4BAAO,kCACM,mBAAmB,GAClD,iBAAiB,CAAC,YAAY,CAAC;qHA6D7B,mBAAmB,GAAG;QAAE,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE;kEAwDf,MAAM;iEAerC,gBAAgB,GAAG,sBAAsB,sCACb,mBAAmB,GACtD,6BAAQ,YAAY,4BAAO,GAAG,IAAI;EAgRxC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/routers",
|
|
3
3
|
"description": "Routers to help build custom navigators",
|
|
4
|
-
"version": "7.6.
|
|
4
|
+
"version": "7.6.5",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
7
7
|
"react-native",
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
]
|
|
68
68
|
]
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "379552aab1a143b61058ab572450cbfb363bff77"
|
|
71
71
|
}
|
package/src/StackRouter.tsx
CHANGED
|
@@ -273,6 +273,12 @@ export function StackRouter(options: StackRouterOptions) {
|
|
|
273
273
|
!routeKeyChanges.includes(route.name)
|
|
274
274
|
);
|
|
275
275
|
|
|
276
|
+
const preloadedRoutes = state.preloadedRoutes.filter(
|
|
277
|
+
(route) =>
|
|
278
|
+
routeNames.includes(route.name) &&
|
|
279
|
+
!routeKeyChanges.includes(route.name)
|
|
280
|
+
);
|
|
281
|
+
|
|
276
282
|
if (routes.length === 0) {
|
|
277
283
|
const initialRouteName =
|
|
278
284
|
options.initialRouteName !== undefined &&
|
|
@@ -291,6 +297,7 @@ export function StackRouter(options: StackRouterOptions) {
|
|
|
291
297
|
...state,
|
|
292
298
|
routeNames,
|
|
293
299
|
routes,
|
|
300
|
+
preloadedRoutes,
|
|
294
301
|
index: Math.min(state.index, routes.length - 1),
|
|
295
302
|
};
|
|
296
303
|
},
|
|
@@ -604,11 +611,17 @@ export function StackRouter(options: StackRouterOptions) {
|
|
|
604
611
|
const id = getId?.({ params: action.payload.params });
|
|
605
612
|
|
|
606
613
|
if (id !== undefined) {
|
|
607
|
-
|
|
608
|
-
|
|
614
|
+
for (let i = currentIndex; i >= 0; i--) {
|
|
615
|
+
const route = state.routes[i];
|
|
616
|
+
|
|
617
|
+
if (
|
|
609
618
|
route.name === action.payload.name &&
|
|
610
619
|
id === getId?.({ params: route.params })
|
|
611
|
-
|
|
620
|
+
) {
|
|
621
|
+
index = i;
|
|
622
|
+
break;
|
|
623
|
+
}
|
|
624
|
+
}
|
|
612
625
|
} else if (state.routes[currentIndex].name === action.payload.name) {
|
|
613
626
|
index = currentIndex;
|
|
614
627
|
} else {
|
|
@@ -704,6 +717,7 @@ export function StackRouter(options: StackRouterOptions) {
|
|
|
704
717
|
|
|
705
718
|
const getId = options.routeGetIdList[action.payload.name];
|
|
706
719
|
const id = getId?.({ params: action.payload.params });
|
|
720
|
+
const params = createParamsFromAction({ action, routeParamList });
|
|
707
721
|
|
|
708
722
|
let route: Route<string> | undefined;
|
|
709
723
|
|
|
@@ -724,22 +738,33 @@ export function StackRouter(options: StackRouterOptions) {
|
|
|
724
738
|
}
|
|
725
739
|
return {
|
|
726
740
|
...r,
|
|
727
|
-
params
|
|
741
|
+
params,
|
|
728
742
|
};
|
|
729
743
|
}),
|
|
730
744
|
};
|
|
731
|
-
}
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
const preloadedRoute = state.preloadedRoutes.findLast(
|
|
748
|
+
(route) =>
|
|
749
|
+
route.name === action.payload.name &&
|
|
750
|
+
id === getId?.({ params: route.params })
|
|
751
|
+
);
|
|
752
|
+
|
|
753
|
+
if (preloadedRoute) {
|
|
732
754
|
return {
|
|
733
755
|
...state,
|
|
734
|
-
preloadedRoutes: state.preloadedRoutes
|
|
735
|
-
.
|
|
736
|
-
|
|
737
|
-
r.name !== action.payload.name ||
|
|
738
|
-
id !== getId?.({ params: r.params })
|
|
739
|
-
)
|
|
740
|
-
.concat(createRouteFromAction({ action, routeParamList })),
|
|
756
|
+
preloadedRoutes: state.preloadedRoutes.map((route) =>
|
|
757
|
+
route.key === preloadedRoute.key ? { ...route, params } : route
|
|
758
|
+
),
|
|
741
759
|
};
|
|
742
760
|
}
|
|
761
|
+
|
|
762
|
+
return {
|
|
763
|
+
...state,
|
|
764
|
+
preloadedRoutes: state.preloadedRoutes.concat(
|
|
765
|
+
createRouteFromAction({ action, routeParamList })
|
|
766
|
+
),
|
|
767
|
+
};
|
|
743
768
|
}
|
|
744
769
|
|
|
745
770
|
default:
|
package/src/SwitchRouter.tsx
CHANGED
|
@@ -145,6 +145,26 @@ const changeIndex = <Type extends SwitchRouterType>(
|
|
|
145
145
|
|
|
146
146
|
const lastHistoryRouteItem = history[lastHistoryRouteItemIndex];
|
|
147
147
|
|
|
148
|
+
if (
|
|
149
|
+
lastHistoryRouteItem?.type === 'route' &&
|
|
150
|
+
currentRoute.key !== lastHistoryRouteItem.key
|
|
151
|
+
) {
|
|
152
|
+
const previousRoute = state.routes.find(
|
|
153
|
+
(route) => route.key === lastHistoryRouteItem.key
|
|
154
|
+
);
|
|
155
|
+
|
|
156
|
+
if (
|
|
157
|
+
previousRoute != null &&
|
|
158
|
+
previousRoute.params !== lastHistoryRouteItem.params
|
|
159
|
+
) {
|
|
160
|
+
history = [...history];
|
|
161
|
+
history[lastHistoryRouteItemIndex] = {
|
|
162
|
+
...lastHistoryRouteItem,
|
|
163
|
+
params: previousRoute.params,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
148
168
|
if (
|
|
149
169
|
lastHistoryRouteItem?.type === 'route' &&
|
|
150
170
|
currentRoute.key === lastHistoryRouteItem.key
|
|
@@ -401,16 +421,23 @@ export function SwitchRouter<Type extends SwitchRouterType>({
|
|
|
401
421
|
const path =
|
|
402
422
|
action.type === 'NAVIGATE' && action.payload.path != null
|
|
403
423
|
? action.payload.path
|
|
404
|
-
: route.
|
|
424
|
+
: key === route.key
|
|
425
|
+
? route.path
|
|
426
|
+
: undefined;
|
|
405
427
|
|
|
406
428
|
const nextRoute =
|
|
407
|
-
|
|
408
|
-
? {
|
|
409
|
-
: route
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
429
|
+
key !== route.key
|
|
430
|
+
? { key, name: route.name, path, params }
|
|
431
|
+
: params !== route.params || path !== route.path
|
|
432
|
+
? { ...route, path, params }
|
|
433
|
+
: route;
|
|
434
|
+
|
|
435
|
+
const routes =
|
|
436
|
+
nextRoute === route
|
|
437
|
+
? state.routes
|
|
438
|
+
: state.routes.map((item, routeIndex) =>
|
|
439
|
+
routeIndex === index ? nextRoute : item
|
|
440
|
+
);
|
|
414
441
|
|
|
415
442
|
const updatedState: State = {
|
|
416
443
|
...state,
|
|
@@ -445,9 +472,16 @@ export function SwitchRouter<Type extends SwitchRouterType>({
|
|
|
445
472
|
const index = nextState.index;
|
|
446
473
|
|
|
447
474
|
if (index != null) {
|
|
448
|
-
const
|
|
475
|
+
const route = action.source
|
|
476
|
+
? nextState.routes.find((route) => route.key === action.source)
|
|
477
|
+
: nextState.routes[index];
|
|
478
|
+
|
|
479
|
+
if (route === undefined) {
|
|
480
|
+
return nextState;
|
|
481
|
+
}
|
|
482
|
+
|
|
449
483
|
const historyItemIndex = state.history.findLastIndex(
|
|
450
|
-
(item) => item.type === 'route' && item.key ===
|
|
484
|
+
(item) => item.type === 'route' && item.key === route.key
|
|
451
485
|
);
|
|
452
486
|
|
|
453
487
|
let updatedHistory = state.history;
|
|
@@ -459,7 +493,7 @@ export function SwitchRouter<Type extends SwitchRouterType>({
|
|
|
459
493
|
if (item.type === 'route') {
|
|
460
494
|
updatedHistory[historyItemIndex] = {
|
|
461
495
|
...item,
|
|
462
|
-
params:
|
|
496
|
+
params: route.params,
|
|
463
497
|
};
|
|
464
498
|
}
|
|
465
499
|
}
|
|
@@ -539,7 +573,15 @@ export function SwitchRouter<Type extends SwitchRouterType>({
|
|
|
539
573
|
|
|
540
574
|
const params = createParamsFromAction({ action, routeParamList });
|
|
541
575
|
const newRoute =
|
|
542
|
-
|
|
576
|
+
key !== route.key
|
|
577
|
+
? {
|
|
578
|
+
key,
|
|
579
|
+
name: route.name,
|
|
580
|
+
params,
|
|
581
|
+
}
|
|
582
|
+
: params !== route.params
|
|
583
|
+
? { ...route, params }
|
|
584
|
+
: route;
|
|
543
585
|
|
|
544
586
|
let history = state.history;
|
|
545
587
|
|
|
@@ -556,6 +598,26 @@ export function SwitchRouter<Type extends SwitchRouterType>({
|
|
|
556
598
|
backBehavior === 'fullHistory' ? newRoute.params : undefined,
|
|
557
599
|
});
|
|
558
600
|
}
|
|
601
|
+
} else if (
|
|
602
|
+
backBehavior === 'fullHistory' &&
|
|
603
|
+
newRoute.params !== route.params
|
|
604
|
+
) {
|
|
605
|
+
const historyItemIndex = history.findLastIndex(
|
|
606
|
+
(item) => item.type === 'route' && item.key === route.key
|
|
607
|
+
);
|
|
608
|
+
|
|
609
|
+
if (historyItemIndex !== -1) {
|
|
610
|
+
history = [...history];
|
|
611
|
+
|
|
612
|
+
const item = history[historyItemIndex];
|
|
613
|
+
|
|
614
|
+
if (item.type === 'route') {
|
|
615
|
+
history[historyItemIndex] = {
|
|
616
|
+
...item,
|
|
617
|
+
params: newRoute.params,
|
|
618
|
+
};
|
|
619
|
+
}
|
|
620
|
+
}
|
|
559
621
|
}
|
|
560
622
|
|
|
561
623
|
return {
|
|
@@ -563,9 +625,12 @@ export function SwitchRouter<Type extends SwitchRouterType>({
|
|
|
563
625
|
preloadedRouteKeys: state.preloadedRouteKeys
|
|
564
626
|
.filter((key) => key !== route.key)
|
|
565
627
|
.concat(newRoute.key),
|
|
566
|
-
routes:
|
|
567
|
-
|
|
568
|
-
|
|
628
|
+
routes:
|
|
629
|
+
newRoute === route
|
|
630
|
+
? state.routes
|
|
631
|
+
: state.routes.map((route, index) =>
|
|
632
|
+
index === routeIndex ? newRoute : route
|
|
633
|
+
),
|
|
569
634
|
history,
|
|
570
635
|
};
|
|
571
636
|
}
|