javascript - 在 Flux 架构中,如何管理分析跟踪?

标签 javascript reactjs redux analytics reactjs-flux

假设我正在构建一个像 Airbnb 这样的单页应用程序。在此类应用程序中,最好的一件事是跟踪某人创建帐户的时间。

对于跟踪部分,有很多服务可以提供帮助(谷歌分析、分割等)。

例如,使用 react-ga 跟踪事件您只需使用以下内容即可:

ReactGA.event({
  category: 'User',
  action: 'Created an Account'
});

但我的问题是......这应该如何在通量架构中完成?

我应该调度一个操作并为此操作添加一个中间件吗?或者直接在 signUp 操作中调用该函数?

最佳答案

有几次我不得不为 Intercom 等服务编写非常类似的代码。 。我当时用的是Redux。在基于 Redux 的应用程序的事件驱动架构中,您只需使用中间件就可以以一种非常有吸引力的方式做到这一点。

就我而言,我注意到我已经完成了所有必需的操作,我所需要的只是在触发某些操作后向分析发送请求。

类似这样的事情:

function sendIntercomRequest(action) {
  // send a request to analytic tool here
}

const intercomMiddreware = store => next => action => {
  switch (action.type) {
    // take required events
    case actionTypes.SIGN_IN_SUCCESS:
    case actionTypes.SIGN_OUT_SUCCESS:
      sendIntercomRequest(action.type);
      break;
  }

  return next(action);
};

关于javascript - 在 Flux 架构中,如何管理分析跟踪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50182480/

相关文章:

javascript - FB 分享按钮在页面加载时消失

javascript - React 数据网格自定义格式化程序是否可以与自定义编辑器同时使用?

javascript - 为什么我会收到无效值错误?

javascript - React Redux - 通过 Action 传递 Prop

node.js - Expressjs cookie 解析器在 cookie 中添加 j : 前缀

reactjs - 如何告诉我的mainWindow在另一个窗口关闭后重新加载?

javascript - 将 JSON 数据上传为文件

javascript - 单页中的两个图像 slider

javascript - 如何使用 jQuery 将单选按钮替换为图像?

reactjs - 当我使用 react Hook 单击按钮时如何更改背景颜色