React-Redux中的无状态事件侦听器

React-Redux中的无状态事件侦听器,redux,flux,Redux,Flux,我需要在我的react/redux应用程序中添加基于事件的功能 我正在使用redux,并且我有通过操作更改事件的应用程序状态的还原程序。一些操作例如:(用户单击按钮,AJAX调用启动,AJAX调用错误,AJAX调用成功) 我想为这些事件添加监听器,并做一些与状态无关的工作,特别是调用另一个API,如analytics 添加另一个没有实际状态的“reducer”是否有意义,它只侦听这些操作和行为(例如调用ga(…)?) 大概是这样的: var Actions = require ('../act

我需要在我的react/redux应用程序中添加基于事件的功能

我正在使用redux,并且我有通过操作更改事件的应用程序状态的还原程序。一些操作例如:(用户单击按钮,AJAX调用启动,AJAX调用错误,AJAX调用成功)

我想为这些事件添加监听器,并做一些与状态无关的工作,特别是调用另一个API,如analytics

添加另一个没有实际状态的“reducer”是否有意义,它只侦听这些操作和行为(例如调用ga(…)?)

大概是这样的:

var Actions  = require ('../actions/actionTypes');

var gaReducer = function(state, action) {
    switch (action.type){
        case Actions.USER_CLICKED_BUTTON: 
               ga('send', 'event', 'user-clicked-button');
               break;
    }

    return state;

}

这听起来是一个很好的中间件案例。请查看一个示例

然后,您的商店可能看起来像:

const middleware = [
  myAnalyticsMiddleware()
];

export default createStore(reducer, applyMiddleware(...middleware));

好的,这让我走上了正确的方向,这可能更像我正在寻找的:。此外,我不知道这个例子如何适用于我的问题。这个例子适用于我的问题,因为它挂接到商店,并在商店更改时做一些事情(在本例中是记录,在您的情况下是发送分析)。