我在我的角度项目中使用Redux来获取数据到状态并进行一些API调用等等。我注意到redux devtools列出了所有已执行的动作。有没有办法获取我的角度应用程序中触发的动作列表?
我想将操作列表发送到后端并进一步处理。
有没有办法做到这一点?
答案 0 :(得分:0)
过去我是如何为商店创建日志记录中间件的。这是一个不错的例子。 https://github.com/Webiks/angular-redux-middleware-example。
从本质上讲,它捕获了所有操作,您可以根据操作对它们进行操作,或者返回下一个函数以使商店继续运行
export function loggerMiddleware(store) {
return function (next) {
return function (action) {
// log a fancy message and action
console.log('Hello, this is your captain speaking.', action);
// continue to the next action
return next(action);
};
};
}
也可以将其重写为如下所示,只是为了缩短它:
export const loggerMiddleware = store => next => action {
// log a fancy message and action
console.log('Hello, this is your captain speaking.', action);
// continue to the next action
return next(action);
};
};
}
答案 1 :(得分:0)
这是一种 super hacky方法,可在30秒内将它们释放。它有很多假设,但可能对您有用。
https://reergymerej.github.io/blog/2019/06/14/janky-event-exports.html
__REDUX_DEVTOOLS_EXTENSION__
。Object.keys(t.actionsById).forEach((id) =>
console.log(t["actionsById"][id].action.type))