bla*_*arg 3 redux redux-middleware redux-toolkit
使用 reduxjs-toolkit 我定义了我的商店和中间件,如下所示:
const store = configureStore({
reducer: rootReducer,
middleware: [reduxWebsocketMiddleware, adamBrownMiddleware]
});
Run Code Online (Sandbox Code Playgroud)
但是我只想将此中间件应用于某些减速器,而不是全部。具体来说,我想将 websocket 中间件应用于某些减速器,而在其他减速器中我调用 API,而这个 websocket 中间件不是必需的。
添加另一家商店来执行此操作似乎是一种反模式。
那么如何才能只为某些reducer应用中间件呢?
您始终可以在中间件中检查action.type属性(例如,如果它以 开头"mySliceName/"),否则跳过中间件的其余部分。
由于您没有真正给出中间件正在做什么以及为什么要限制它的示例,因此不可能为您提供更多的输入。
这可能看起来像这样:
const middleware = api => next => action => {
if (!action.type.startsWith("myWebsocketSlice/") { return next(action); }
// normal middleware code here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
589 次 |
| 最近记录: |