我有一个工作useEffect在更改页面时调用我的谷歌分析。这在更改页面时工作正常,但当您最初第一次加载或刷新时,它不会调用router.events.on
这是我的代码
useEffect(() => {
if (cookies === true) {
router.events.on("routeChangeComplete", () => {
ReactGA.pageview(window.location.pathname);
});
return () => {
router.events.off("routeChangeComplete", () => {
ReactGA.pageview(window.location.pathname);
});
};
}
}, [router.events]);
Run Code Online (Sandbox Code Playgroud)
我想过使用另一个useEffect来最初调用reactGA,但是当更改页面时它会被调用两次,这不好。
关于如何在初始页面加载时使其工作的任何想法?
这是预期的行为 -router.events仅在 Next.js 路由器启动的客户端页面导航时触发。
您可以调用ReactGA.pageview单独的方法useEffect来处理初始页面加载。
useEffect(() => {
if (cookies === true) {
ReactGA.pageview(window.location.pathname);
}
}, []);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4133 次 |
| 最近记录: |