延迟加载:无法加载动态模块

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}`));

不是最优雅的解决方案,但它有效。