【发布时间】:2023-03-20 10:02:01
【问题描述】:
我正在尝试创建一个辅助方法来延迟导入反应延迟的模块。
第一个版本,当我修复了导入中的路径时,它可以工作:
import { lazy } from 'react';
export function lazyLoaderWithDealy() {
return lazy(async () => {
const [moduleExports] = await Promise.all([
import('components/SchemaEditor'),
new Promise(resolve => setTimeout(resolve, 300))
]);
return moduleExports;
});
}
但是在第二个示例中,当模块的路径来自变量时,它不起作用,知道为什么吗?
import { lazy } from 'react';
export function lazyLoaderWithDealy(path) {
return lazy(async () => {
const [moduleExports] = await Promise.all([
import(path),
new Promise(resolve => setTimeout(resolve, 300))
]);
return moduleExports;
});
}
【问题讨论】:
-
你考虑过关键字'this'吗?
-
it doesn't work请更好地解释什么不起作用。它会给你一个错误吗?什么都没有加载?请更清楚,并将 deteais 添加到您的问题
标签: reactjs ecmascript-6 lazy-loading react-suspense