使用【Dawn】构建工具开发项目过程中,使用到了React.lazy来进行代码分隔处理。
遇到如下报错信息:
Element type is invalid. Received a promise that resolves to: undefined. Lazy element type must resolve to a class or function.
大概意思是:元素类型无效。 接收到undefined的Promise。 Lazy元素类型必须解析为类或函数。

一开始,以为我的写法有错误,不断在尝试其他写法。写了一个简单的Demo都报错。

接着尝试使用create-react-app初始化项目,用react-scripts构建项目,发现一点问题没有。
显然,Dawn在构建过程中,对组件代码做了处理。
大神指点后,改为如下代码,完美解决
const FormLayoutUI = React.lazy(async () => {
const com = await import("./FormLayoutUI");
return { default: com.default || com };
})
在使用Dawn构建工具时,遇到了React.lazy导致的Promise未解析错误。通过调整代码结构,将默认导出和非默认导出统一处理,成功解决了问题。
1060





