我有一个关于 React.lazy() 功能的问题。我正在开发一项功能,但我陷入了困境。
我的场景
我在我所在的地方有一个设置
ErrorFallbackToast
),用于在出现错误时显示。看起来像这样(模拟)
import React, { Suspense, useEffect, lazy } from 'react';
const Toast = React.lazy(() => import('../Toast'));
const MyComponent = () => {
const renderComponent = () => {
switch (type) {
case TYPE.toast:
return <Toast />;
default:
return null;
}
};
return (
<ErrorBoundary fallback={ErrorFallbackToast} onError={() => {}}>
<Suspense fallback={<></>}>{renderComponent()}</Suspense>
</ErrorBoundary>
);
};
export default MyComponent;
我有一个场景,需要为特定类型的错误显示后备用户界面,而不应该为其他类型的错误显示后备用户界面。例如
问题
到目前为止,我还没有找到任何方法来区分 React 延迟加载期间抛出的错误与组件运行时错误。有什么办法可以实现我想要的吗?
我愿意使用多个错误边界,但是由于这两个错误都是在安装时抛出的,所以我无法实现我想要的任何结果。任何帮助将不胜感激。谢谢!.