Лучшее место для инициализации аналитических библиотек в React 16.x

Я создаю новое приложение React 16.5 с Redux и хочу интегрировать некоторые сторонние сервисы для аналитики и отслеживания ошибок. На данном этапе я не хочу использовать их плагины npm или реагировать, а просто хочу выполнить интеграцию через чистый JS.

Все они требуют загрузки библиотеки, которую я делаю в разделе <head> вне моего пакета приложения React, а затем какой-то функции init(), которая должна вызываться при загрузке страницы.

Раньше я всегда вызывал эти функции инициализации в componentWillMount моего компонента верхнего уровня, потому что эта функция гарантированно запускалась. Однако я заметил, что теперь это устарел.

Как лучше всего инициализировать библиотеки аналитики в React 16.x?

Я не хочу делать это в componentDidMount, потому что, если сразу возникнут какие-либо ошибки и компонент никогда не монтируется, я не получу никаких просмотров страниц или отчетов об ошибках.

Должен ли я просто инициализировать их вне всех моих компонентов в App.jsx? Пожалуйста, дайте мне знать, если я что-то упускаю. Спасибо!

обычно пакет аналитики предоставляет глобальные переменные, например GA выставляет ga

ic3b3rg 05.01.2019 00:51

Да, но, например, с Sentry: docs.sentry.io/error-reporting/quickstart/?platform=browser. Куда мне вызвать Sentry.init?

Cbas 05.01.2019 00:54

так что он раскрывает Sentry, и да, вы должны вызвать его функцию init в App.jsx

ic3b3rg 05.01.2019 00:56

Я думаю, это нужно сделать в index.js перед инициализацией хранилища и вызовом ReactDOM.render

Valerii 05.01.2019 01:02

Вы проверяли реакцию-шлем? Мы используем его в продакшене в сочетании с промежуточным программным обеспечением, которое запускается при инициализации приложения, как предлагал @Valerii. Вы можете создать компонент, который включает в себя все сценарии, которые вам нужно загрузить в голову, а также можете добавить его к другим компонентам, если вам нужно обновить или добавить сценарий.

Frank 07.01.2019 17:06
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
64
0

Другие вопросы по теме