Реагировать на редукс-маяк отслеживать ссылки клики аналитика
Как лучше всего отслеживать аналитику кликов по внутренним ссылкам в приложении 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. Но нет ничего плохого в том, чтобы относиться к ним одинаково с точки зрения редукс-маяка.