@aylo

Как вставить код Яндекс.Метрики в реакт компонент?

Вопрос в следующем:
Как вставить код Яндекс.Метрики в реакт компонент, который в свою очередь рендерится на сервере поверх метеора оО
В общем на бекенде имеем метеор приложение, фронтенд на реакте, который рендерится на сервере через FlowRouter. Не думаю что это важно, но все же. Подскажите как можно вставить не прибегая к npm или что почитать?
  • Вопрос задан
  • 6231 просмотр
Решения вопроса 3
@aylo Автор вопроса
Сам задал вопрос, получил ответ, который уже пробовал, еще раз попробовал все получилось.
Ну в целом все просто, может кому пригодится:
ym() {
    return (
      "<script src='https://mc.yandex.ru/metrika/watch.js' type='text/javascript'></script>\
      <script type='text/javascript'>\
            try {\
                  var yaCounterXXXXX = new Ya.Metrika({\
                  id:XXXXX,\
                  clickmap:true,\
                  trackLinks:true,\
                  accurateTrackBounce:true,\
                  webvisor:true,\
                  trackHash:true\
                  });\
            } catch(e) { }\
      </script>"
    );
  },


И вызываем:
<div dangerouslySetInnerHTML={{__html: this.ym()}}/>
Ответ написан
@Razzwan
import { YMInitializer } from 'react-yandex-metrika';

class MyComponent extends React.Component {
  render() {
    return (
      <div>
        // SNIP
          <YMInitializer accounts={[987654321]} />
        // SNIP
      </div>
    );
  }
});

// И потом используем так:
import ym from 'react-yandex-metrika';
ym('hit', '/cart');
ym('reachGoal', 'whateverGoal', {awesomeParameter: 42});


Взято здесь: https://github.com/narkq/react-yandex-metrika
Ответ написан
Laiff
@Laiff
Front-end developer
Если с сервера получается готовый html, то достаточно просто
class MetricContainer extends Component {
  render() {
    return <div dangerouslySetInnerHTML={{__html: someHtmlStringFromServer}}/>
  }
}

Иначе все зависит от реализации и сопряжено будет с энным количеством боли и страданий, вернее танцов с бубном во имя сопряжения их.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы