В моем приложении react
есть несколько страниц:
- Main
- Сервис
- Контакт
- Профиль (личный)
- и т. Д.
Мне нужно отслеживать активность пользователей с помощью Google Analytics.Я гуглил реаги-га и все нормально.Но с этой библиотекой я должен инициализировать свой GA на каждом маршруте, который я использую.Например:
Маршрут "/" - главная страница:
class Main extends Component {
componentDidMount() {
initGA();
}
render() {
return (
<div>
<Component1 />
<Component2 />
</div>
)
}
}
Мой initGA()
выглядит так:
import ReactGA from 'react-ga';
export const initGA = () => {
ReactGA.initialize('UA-00000000-1');
ReactGA.pageview(window.location.pathname + window.location.search);
console.log(window.location.pathname + window.location.search);
}
Мой App class
выглядит следующим образом:
class App extends Component {
render() {
return (
<BrowserRouter>
<div className="App">
<Switch>
<Route exact path="/" component={Main} />
<Route exact path="/signup" component={SignupLayout} />
<Route component={PublicLayout} />
</Switch>
</div>
</BrowserRouter>
);
}
}
В моем способе использования react-ga
я добавляю initGA()
функцию к каждому компоненту, который рендерится в ответе маршрута.Я думаю, что неправильно дублировать initGA()
в каждом компоненте.Пожалуйста, ребята, как вы используете react-ga
?Как правильно использовать реактив-га?