延迟加载:无法加载动态模块
Lazy loading: Can't load dynamic module
我尝试使用 React.lazy()
和 Suspense
组件在我的仪表板中动态加载。它适用于硬编码值,但不适用于变量。我现在有点无语。可能是一个愚蠢的错误!
作品:
const WidgetComponent = React.lazy(() => import('../../../widgets/dummy/Dummy'));
无效:
// widget.path === '../../../widgets/dummy/Dummy'
const WidgetComponent = React.lazy(() => import(widget.path));
也不起作用:
const WidgetComponent = React.lazy(() => import(`${widget.path}`));
我可以添加的一件事是小部件道具是从 public 文件夹中的 json 文件填充的。
好的,在@Ajeet Shah 的帮助下我已经解决了我的问题。
我用组件名称创建了一个新的 属性 并且我这样做了 :
const WidgetComponent = React.lazy(() => import(`../../../widgets/${widget.component}`));
不是最优雅的解决方案,但它有效。
我尝试使用 React.lazy()
和 Suspense
组件在我的仪表板中动态加载。它适用于硬编码值,但不适用于变量。我现在有点无语。可能是一个愚蠢的错误!
作品:
const WidgetComponent = React.lazy(() => import('../../../widgets/dummy/Dummy'));
无效:
// widget.path === '../../../widgets/dummy/Dummy'
const WidgetComponent = React.lazy(() => import(widget.path));
也不起作用:
const WidgetComponent = React.lazy(() => import(`${widget.path}`));
我可以添加的一件事是小部件道具是从 public 文件夹中的 json 文件填充的。
好的,在@Ajeet Shah 的帮助下我已经解决了我的问题。
我用组件名称创建了一个新的 属性 并且我这样做了 :
const WidgetComponent = React.lazy(() => import(`../../../widgets/${widget.component}`));
不是最优雅的解决方案,但它有效。