Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs react redux信标跟踪链接点击分析_Reactjs_Google Analytics_React Redux_React Router_Redux Beacon - Fatal编程技术网

Reactjs react redux信标跟踪链接点击分析

Reactjs react redux信标跟踪链接点击分析,reactjs,google-analytics,react-redux,react-router,redux-beacon,Reactjs,Google Analytics,React Redux,React Router,Redux Beacon,如果使用Redux Beacon,在React/Redux应用程序中跟踪内部链接点击分析的最佳方法是什么 通常,内部链接单击会触发路由器位置更改(不会触发任何其他redux操作)。但“位置改变”实际上是一个页面视图 是否可以在历史记录推送(“…”)之前调度事件?比如: dispatch({ type: VIEW_BLOG_POST, postId }); ..... history.push(`/${postId}`); ... 没有真正改变状态,只是为了用redux beacon中间件捕捉事

如果使用Redux Beacon,在React/Redux应用程序中跟踪内部链接点击分析的最佳方法是什么

通常,内部链接单击会触发路由器位置更改(不会触发任何其他redux操作)。但“位置改变”实际上是一个页面视图

是否可以在
历史记录推送(“…”)
之前调度事件?比如:

dispatch({ type: VIEW_BLOG_POST, postId });
.....
history.push(`/${postId}`);
...
没有真正改变状态,只是为了用redux beacon中间件捕捉事件

。。。 还有外部链接点击呢?我需要管理这些不同的服务吗?(我希望避免混合跟踪实现)

可以在history.push(“…”)之前调度事件吗

是的,那很好。您所要做的就是将
VIEW\u BLOG\u POST
映射到新的事件定义。该操作不必以任何方式更改状态。它将通过减速器,减速器将返回对前一状态的引用。如果您使用的是react-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,
}
没有真正改变状态,只是为了用redux beacon中间件捕捉事件


看起来Redux Beacon仅将ga事件映射到Redux状态。因此,只要路线改变不是Redux状态的改变,你就需要一个单独的GA集成。Redux信标将Redux或Ngrx操作映射到GA事件(使用GA目标时)。Redux Beacon不在乎状态是否改变。太好了!谢谢你的回答和帮助!