У меня есть веб-приложение (блог), и я создал его с помощью React (React-starter-kit). После развертывания и добавления GA на свой Html.js я проверил сайт с помощью Tag Assistant от Google и обнаружил, что после открытия моей домашней страницы и перенаправления на страницу сведений о статье тег GA вызывается снова (с UA -... ....).
Ниже приведен фрагмент моего кода в Html.js для добавления GA:
<body>
<div id = "app" dangerouslySetInnerHTML = {{ __html: children }} />
<script
dangerouslySetInnerHTML = {{ __html: `window.App=${serialize(app)}` }}
/>
{scripts.map(script => <script key = {script} src = {script} />)}
{config.analytics.googleTrackingId && (
<script
dangerouslySetInnerHTML = {{
__html:
'window.ga=function(){ga.q.push(arguments)};ga.q=[];ga.l=+new Date;' +
`ga('create','${
config.analytics.googleTrackingId
}','auto');ga('send','pageview')`,
}}
/>
)}
{config.analytics.googleTrackingId && (
<script
src = "https://www.google-analytics.com/analytics.js"
async
defer
/>
)}
Я подозреваю, что причиной того, что код GA был обнаружен 2 раза, является повторный рендеринг маршрутизации и Html.js.
Как я могу это исправить?
Спасибо.
Я использовал этот: reactstarter.com, не могли бы вы посоветовать?
Вы можете добавить свой код аналитики в /src/config.js, строка 41 github.com/kriasoft/react-starter-kit/blob/master/src/…
эм, да, добавил туда код аналитики свой ID. Однако проблема, как показано в приведенном выше коде, я отправляю просмотр страницы в GA и использую этот идентификатор из config.js. Однако, когда я перехожу от одного компонента к другому, код GA для отправки просмотра страницы вызывается дважды.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам необходимо переместить код аналитики Google за пределы вашего компонента. В некоторых стартовых наборах React есть место для кода аналитики, вы можете увидеть, есть ли у вас то же самое. Какой репо к вашему стартовому набору?