Как использовать Google Analytics с реакции-маршрутизатором v5 и StaticRouter? - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь добавить 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>)
  );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...