跟踪ReactJS应用程序

时间:2016-05-30 07:20:12

标签: javascript angularjs reactjs google-analytics virtual-dom

我一直在使用 AngularJS ,其结构的方式是,当用户浏览网站时,只有视图和路线发生变化且没有综合网页浏览等触发(每条路线不加载GTM)。

因此,在使用AngularJS网站时,我在Google分析中遇到了很多问题(甚至Angulartics并不太有希望)。

现在我正在阅读 ReactJS ,我非常希望将它与 Laravel 一起使用。我只担心React的整个 虚拟DOM概念 ,确实会在之后产生类似的跟踪痛苦,因为这意味着可能无法加载Google跟踪代码管理器容器每次用户登陆页面时。

是否有人遇到跟踪React应用程序的问题?

1 个答案:

答案 0 :(得分:1)

将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标记。