我有一个react-redux应用程序,我捕获了来自redux-saga的每个错误响应,将其保存在redux-store中,并将其呈现在组件中。主要问题是在更新组件或用户移至另一个页面时,如何将其删除。我尝试使用组件生命周期方法(componentWillUpdate),但由于我将其他存储部件连接到该组件,因此它无法正常工作,并且在更新它们后,它会在用户看到之前清除错误。
我的问题是:是否有使用Redux存储/查看/删除错误的正确方法?
我以这种方式处理错误
export function* errorHandler(err: any): SagaIterator {
// put an error in the redux-store
}
// it's a wrapper for every saga
export const genericErrorHandler = (saga: (...args: any[]) => SagaIterator, ...args: any[]) =>
function* handleApp(action: any): any {
try {
yield call(saga, action, args);
} catch (err) {
yield call(errorHandler, err);
}
};
答案 0 :(得分:0)
如果我们有关于您的应用程序设计以及您如何处理错误的更多详细信息,我可能会给出更具体的建议。但是,有些事情可能会有所帮助:
componentWillUnmount
方法中触发错误清除操作。仅在从DOM中删除组件时才调用此方法。