app-route icon indicating copy to clipboard operation
app-route copied to clipboard

`route-changed` fired twice with bad state

Open tjb1982 opened this issue 6 years ago • 1 comments

I'm experiencing a problem where when there were queryParams before navigating to a new URL without query params, route-changed is dispatched twice, the first time around with bad state (i.e., contains the old queryParams).

E.g., start with URL:

/context/?param=foo

route-changed is dispatched:

appRout.queryParams === {param: "foo"}

user clicks on <a href="/context">...</a>, and route-changed is dispatched:

appRoute.queryParams === {param: "foo"}

but then route-changed is immediately dispatched a second time:

appRoute.queryParams === {}

The work-around I'm using is wrapping my route-changed event handler in a 0ms-debounce, which allows the event loop to recycle and finish the required mutations to the state of the queryParams. However, route-changed is still dispatched twice.

tjb1982 avatar Apr 24 '19 17:04 tjb1982

I am hitting this also

dman777 avatar Dec 15 '19 02:12 dman777