过滤Redux devtool扩展中的操作

Kri*_*son 5 redux redux-devtools-extension

我有每秒执行一次的动作。它是从Web套接字连接中分派的,该套接字每秒钟接收一次数据。

这使我的devtool充满了许多这样的动作,因此使调试其他动作和东西变得困难。

在此处输入图片说明

有没有办法从记录器中过滤掉所有这些“噪音”

我尝试执行以下操作:

const composeEnhancers =
  window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
    actionsBlacklist: 'METER_DATA_RECEIVE'
  }) || compose;
Run Code Online (Sandbox Code Playgroud)

但这不仅可以过滤记录器中的操作,还可以过滤应用程序中的操作。即,它没有被调度,所以它和不调用我不想要的动作一样好。

换句话说,我希望分派但未登录到redux dev工具中的操作

rom*_*mor 9

您可以在浏览器中进行配置。

在Redux DevTools Extension设置中有一个选项Filter actions in DevTools。只需在那里输入“METER_DATA_RECEIVE”。

要修改扩展设置,请单击 Redux 选项卡右下角的齿轮图标,或Extension Options在 Chrome 扩展详细信息屏幕中选择。

  • 应用程序仍会收到这些消息及其存储更新。但是你是对的,因为 Redux 扩展没有显示这个动作,你也看不到那里的新状态。但是,Redux 扩展中的任何新(和显示)操作都会为您提供存储的当前状态(包括过滤操作的更改)。 (2认同)

小智 6

我正在使用这种方法过滤掉代码中的操作,它工作得很好 - 操作被过滤掉但仍然被调度。

如果您使用其他中间件,也许这会弄乱它。

middlewares.push(ReduxPromise, reduxThunk);
let composeEnhancers = compose;

const composeEnhancers =
  window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({
    actionsBlacklist: [
         'METER_DATA_RECEIVE',
         'METER_UPLOAD_PARTS',
    ]
  }) || compose;

const store = createStore(reducers, composeEnhancers(applyMiddleware(...middlewares)));
Run Code Online (Sandbox Code Playgroud)