RUM not automatically working with HashRouterSee original GitHub issue
I’m integrating the
@datadog/browser-rum with at our react (16.12.0) application that uses react-router-dom (5.1.2) to manage the routers.
We are currently using
HashRouter and due to already existing analysis data, we can’t migrate from
BrowserRouter without having the
Basically, the issue we have is that the
@datadog/browser-rum seems not to be integrating with
HashRouter very well. I uploaded some code I was using to debug here https://github.com/eduardogspereira/datadog-debug, but basically I’m setting the datadogRum and router like this:
Even that the
hashchange event is being triggered, the paths are not being correct updated at datadog:
Also, we trying to migrate from
BrowserRouter keeping the
/# prefixed. Like this:
But with this approach the datadogRum don’t update the locationPath also.
It’s possible that this is a bug? Thanks!
- Created 3 years ago
- Comments:12 (2 by maintainers)
Top GitHub Comments
I think hash routing should work out of the box. Should be no need to implement the following approach:
event.view.url = event.view.url.replace('#', '')
I tried replacing hash with slash - this worked, sort of, but does not seem to be very stable. Sometimes I still get something like
SPA Route Change / or
Load Page / followed by
Load Page /hash , even though I am sure client was always loading
/#hash, I checked that
Load Page / view and I can see that url was with
/#hash, so sdk somehow firstly reported view without applying that function and then reported another view after applying function…
I think such partial solution would be more confusing. Even though it gives somewhat more insight, I do not want to introduce this hack into codebase, which potentially can be broken and has to be maintained.
I will wait for this issue to get proper resolution and full support of hash router (or rejection if you choose to do so), before proceeding. In the meantime I guess we just have to ignore “view” in RUM webconsole