【发布时间】:2020-11-16 00:15:09
【问题描述】:
我将 react-ga 用于我的谷歌分析,react-router 用于路由,而我的导航栏使用推送来在页面之间传输。
虽然我尝试将其更改为<Link>,但并没有解决问题。
这是我的 app.js 文件的相关部分:
function App() {
useEffect(() => {
ReactGA.initialize("<myCode>");
ReactGA.pageview(window.location.pathname + window.location.search);
}, []);
return (
<div className="App">
<Router>
<Switch>
<Route exact path="/" component={Homepage} />
<Route path="/register" component={Register} />
当我在浏览器的地址栏中输入地址时,正确的页面将被更新,甚至使用导航栏切换页面然后点击“刷新”。但如果我只通过导航栏移动页面,它将不会更新。
我明白这个问题很可能是因为这行:
ReactGA.pageview(window.location.pathname + window.location.search);
当我在页面之间移动时可能没有执行,但不确定修复它的最佳做法是什么。
这是我导航栏的相关部分:
<div
className={styles.navOption}
onClick={() => {
this.movePage("/"); // <--- Calls this.props.history.push
}}
>
home
</div>
【问题讨论】:
标签: javascript reactjs google-analytics routes react-router