Rob*_*ers 4 javascript redux redux-thunk redux-toolkit
我很喜欢 redux-toolkit,但我想知道是否有办法为任何被拒绝的 thunk 添加通用错误处理程序?就像浏览器有可以监听的unhandledrejection事件一样,我想向我的错误跟踪器报告任何被拒绝的承诺。
听起来您想在每次 thunk 被拒绝时运行副作用(向服务器发送消息)。我建议查看Redux Toolkit 的新“监听器中间件”,它专门允许您在分派某些操作时触发额外的逻辑。
侦听器中间件目前是一个单独的@rtk-incubator/action-listener-middleware包,因为我们一直在迭代其 API,但截至目前,该 API 已经稳定,我们计划很快将其作为 RTK 1.8 的一部分正式发布。您现在就可以在该软件包中使用它,并在该版本发布后立即切换到从 RTK 导入它。
它可能如下所示:
// app/listenerMiddleware.js
import { isRejected } from '@reduxjs/toolkit';
import { createListenerMiddleware } from '@rtk-incubator/action-listener-middleware';
const listenerMiddleware = createListenerMiddleware()
listenerMiddleware.startListening({
matcher: isRejected,
effect: async (action, listenerApi) => {
// send a message to the server here containing info from the action
},
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2108 次 |
| 最近记录: |