假设我正在构建一个像 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/