From 9a2104a307640176bfe35a7f379b4844a7d595ed Mon Sep 17 00:00:00 2001 From: peabnuts123 Date: Thu, 15 Oct 2020 18:21:57 +1300 Subject: [PATCH 1/2] Add previous/current route instances to RouterOnChangeArgs Replaces previous API which just passes a URL for "previous", but a full instance for "current" --- index.d.ts | 2 ++ src/index.js | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/index.d.ts b/index.d.ts index 8d3cb4c5..dd4e8025 100644 --- a/index.d.ts +++ b/index.d.ts @@ -26,8 +26,10 @@ export interface RouterOnChangeArgs { router: Router; url: string; previous?: string; + previousRoute?: preact.VNode, active: preact.VNode[]; current: preact.VNode; + currentRoute: preact.VNode; } export interface RouterProps extends RoutableProps { diff --git a/src/index.js b/src/index.js index 501061ec..75d22da4 100644 --- a/src/index.js +++ b/src/index.js @@ -229,15 +229,19 @@ class Router extends Component { let current = active[0] || null; let previous = this.previousUrl; + let previousRoute = this.previousRoute; if (url!==previous) { this.previousUrl = url; + this.previousRoute = current; if (typeof onChange==='function') { onChange({ router: this, url, previous, + previousRoute: previousRoute, active, - current + current, + currentRoute: current }); } } From a1487db935f3b27665d3462b21357d2f38f5bdbd Mon Sep 17 00:00:00 2001 From: Jeff Date: Sun, 13 Dec 2020 18:00:31 +1300 Subject: [PATCH 2/2] Remove redundant variable alias Co-authored-by: Ryan Christian <33403762+rschristian@users.noreply.github.com> --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 75d22da4..4caf4702 100644 --- a/src/index.js +++ b/src/index.js @@ -238,7 +238,7 @@ class Router extends Component { router: this, url, previous, - previousRoute: previousRoute, + previousRoute, active, current, currentRoute: current