如何在React中使用Google Analytics(分析)?

在我的react应用程序中,我有一些页面:

  1. 主要
  2. 服务
  3. 联系
  4. 个人资料(私人)
  5. 等等..

我需要跟踪用户使用Google Analytics(分析)的活动。我在react-ga上搜索了一下,一切都很好。但是,有了这个库,我必须在使用的每条路线上初始化我的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-

gainitGA()在每个组件上添加了功能,这些功能会在路线响应中呈现。我认为initGA()在每个组件中重复都是不正确的。拜托,伙计们,您如何使用react-

ga?什么是使用react-ga的正确方法?

回答:

要使其工作,需要使用Router功能。因此在App组件中import { Router } from 'react-router-

dom'。它必须是路由器而不是BrowserRouter。

然后 import createHistory from 'history/createBrowserHistory'

const history = createHistory()

ReactGA.initialize('UA-000000-1');

history.listen((location, action) => {

ReactGA.pageview(location.pathname + location.search);

console.log(location.pathname)

});

此代码将在每次更改路线时触发!

比给路由器组件一个历史属性。

完整的代码:

import React, { Component } from 'react';

import { Router, Route, Switch } from 'react-router-dom';

import createHistory from 'history/createBrowserHistory'

import Main from './components/pages/Main';

import ReactGA from 'react-ga';

const history = createHistory()

ReactGA.initialize('UA-00000000-1');

history.listen((location, action) => {

ReactGA.pageview(location.pathname + location.search);

console.log(location.pathname)

});

class App extends Component {

render() {

return (

<Router history={history}>

<div className="App">

<Switch>

<Route exact path="/" component={Main} />

<Route exact path="/signup" component={SignupLayout} />

<Route component={PublicLayout} />

</Switch>

</div>

</Router>

);

}

}

export default App;

以上是 如何在React中使用Google Analytics(分析)? 的全部内容, 来源链接: utcz.com/qa/433358.html

回到顶部