跟踪 ReactJS 应用程序
Tracking a ReactJS application
我一直在使用 AngularJS,它的结构是这样的,当用户浏览网站时,只有视图和路线会发生变化,并且没有 pageviews 等被触发(GTM 不是每个路由加载)。
因此,在使用 AngularJS 网站。
现在我正在阅读 ReactJS,我非常热衷于将它与 Laravel 一起使用。我只担心 React 的整个 virtual DOM 概念 之后确实会造成类似的跟踪痛苦,因为这意味着Google 可能不会在用户每次登陆页面时加载跟踪代码管理器容器。
有人遇到跟踪 React 应用程序的问题吗?
您将 React 挂载到给定的 DOM 元素,然后该元素成为挂载根元素。只有这些元素会被改变,这意味着如果你有脚本标签等,而不是在反应中,这些不会受到影响
<html>
<head>
<script src="/gtm.js"></script>
<script src="/react.js"></script>
</head>
<body>
<div id="mount">
</div>
<script>
class Test extends React.Component {
track() {
window.dataLayer.push({
event: 'Stuff'
});
}
render() {
return <button onClick={this.track} />;
}
}
React.render(<Test />, document.getElementById('mount'))
</script>
</html>
因为 React 只能修改 #mount
内的内容,因此 gtm 标签应该始终存在。
我一直在使用 AngularJS,它的结构是这样的,当用户浏览网站时,只有视图和路线会发生变化,并且没有 pageviews 等被触发(GTM 不是每个路由加载)。
因此,在使用 AngularJS 网站。
现在我正在阅读 ReactJS,我非常热衷于将它与 Laravel 一起使用。我只担心 React 的整个 virtual DOM 概念 之后确实会造成类似的跟踪痛苦,因为这意味着Google 可能不会在用户每次登陆页面时加载跟踪代码管理器容器。
有人遇到跟踪 React 应用程序的问题吗?
您将 React 挂载到给定的 DOM 元素,然后该元素成为挂载根元素。只有这些元素会被改变,这意味着如果你有脚本标签等,而不是在反应中,这些不会受到影响
<html>
<head>
<script src="/gtm.js"></script>
<script src="/react.js"></script>
</head>
<body>
<div id="mount">
</div>
<script>
class Test extends React.Component {
track() {
window.dataLayer.push({
event: 'Stuff'
});
}
render() {
return <button onClick={this.track} />;
}
}
React.render(<Test />, document.getElementById('mount'))
</script>
</html>
因为 React 只能修改 #mount
内的内容,因此 gtm 标签应该始终存在。