Реагировать на редукс-маяк отслеживать ссылки клики аналитика

Как лучше всего отслеживать аналитику кликов по внутренним ссылкам в приложении React/Redux при использовании Redux-Beacon?

Обычно щелчок по внутренней ссылке запускает изменение местоположения маршрутизатора (он не запускает никаких других операций с избыточностью). Но "LOCATION_CHANGE" это на самом деле просмотр страницы.

Это нормально, чтобы отправить событие до history.push('...')? Подобно:

dispatch({ type: VIEW_BLOG_POST, postId });
.....
history.push(`/${postId}`);
...

Без реального изменения состояния, но просто для того, чтобы поймать событие с промежуточным программным обеспечением-редуктором-маяком?

... А как насчет внешних ссылок? Нужно ли управлять этим другим? (Я хочу избежать смешанных реализаций отслеживания)

1 ответ

Решение

Можно ли отправить событие раньше, чем history.push('...')?

Да, это совершенно нормально. Все, что вам нужно сделать, это карта VIEW_BLOG_POST к новому определению события. Акция не должна менять состояние каким-либо образом. Он пройдет через редукторы, которые все вернут ссылку на предыдущее состояние. Если вы используете response-redux, это будет иметь практически нулевое влияние на производительность. Предполагая, что вы отслеживаете это как событие в GA, это будет выглядеть примерно так:

import { trackEvent } from '@redux-beacon/google-analytics';

const trackBlogPostClick = trackEvent((action, prevState, nextState) => {
  return {
    category: /* fill me in */,
    action: /* fill me in */,
    label: /* (optional) */,
    value: /* (optional) */,
  };
}, /* (optional) tracker names array or tracker name string */ );

// And wherever your events map is:

const eventsMap = {
  VIEW_BLOG_POST: trackBlogPostClick,
}

Без реального изменения состояния, но просто для того, чтобы поймать событие с промежуточным программным обеспечением-редуктором-маяком?

А как насчет внешних ссылок? Нужно ли управлять этим другим? (Я хочу избежать смешанных реализаций отслеживания)

Это во многом зависит от того, как вы хотите отслеживать это в Google Analytics. Но нет ничего плохого в том, чтобы относиться к ним одинаково с точки зрения редукс-маяка.

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