Я пытаюсь добавить Google Analytics со StaticRouter router-v5 в моем приложении React SSR, как предложено в Как использовать Google Analytics с React? .Я понимаю, что createBrowserHistory не работает, поэтому думал, что я буду использовать createMemoryHistory.Кажется, удаленный createMemoryHistory в v4?Я попытался бы прослушать изменение маршрута, но не мог понять, как это сделать с SSR?Или я мог бы написать HOC и исправить это.Но кажется, что это немного чище и проще.
Теперь, чтобы достичь чего-то подобного, как мне это сделать?
import ReactGA from 'react-ga';
import { createMemoryHistory } from 'history';
ReactGA.initialize('UA-*********-1');
const history = createMemoryHistory();
history.listen(location => {
console.log('location', location);
ReactGA.set({ page: location.pathname });
ReactGA.pageview(location.pathname);
});
function NotFound() {
return <h1>Oops, nothing here!</h1>;
}
function App() {
return (
<Switch>
{routes.map(({ path, component, isPublic, exact }) => (
isPublic ?
<Route
key={path}
exact={exact}
path={path}
component={component}
history={history}
/>
:
<ProtectedRoute
isLoggedIn={user}
key={path}
path={path}
component={component}
exact={exact}
public={false}
history={history}
/>
))}
<Route component={NotFound} />
</Switch>)
);
}