如何解决如何在 redux-observable 中使用 React ErrorBoundary?
但我使用 redux-observable
和 rxjs
从我的 api 中获取我的数据。
是否有可能让它工作,我可以使用 ErrorBoundary 来获取错误?
也许与 react-error-boundary 包和 useErrorHandker
挂钩?我无法正常工作。
解决方法
这就是我所做的。
我已经有一个在启动时加载的配置模块。
let config: Config = {
// other config values here
errorHandler: (error: unknown) unknown => null;
}
export const getConfig = (): Config => config;
export const setConfig = (cfg: Config) => {
config = cfg;
}
其中 Config
是我的配置界面。
在我的顶级 tsx 中,我执行以下操作:
const errorHandler = useErrorHandler();
setConfig({...getConfig(),errorHandler } );
现在,我可以从我的 RxJS catchError() 访问错误处理程序
catchError((err: unknown) => {
const errorHandler = getConfig().errorHandler as (e: unknown) => unknown;
errorHandler(err);
}),...
这是可行的,因为该模块使配置变量本质上是一个单例,可通过导出的 set/get 函数访问和设置。
我昨晚才弄明白,所以可能需要调整一些类型,但这是基本思路。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。