将React.lazy与TypeScript一起使用
我试图在我的TypeScript React应用程序中使用React.lazy进行代码拆分。
我正在做的就是更改该行:
import {ScreensProductList} from "./screens/Products/List";
到这行:
const ScreensProductList = lazy(() => import('./screens/Products/List'));
但是该import('./screens/Products/List')
部分会触发TypeScript错误,并指出:
Type error: Type 'Promise<typeof import("/Users/johannesklauss/Documents/Development/ay-coding-challenge/src/screens/Products/List")>' is not assignable to type 'Promise<{ default: ComponentType<any>; }>'. Property 'default' is missing in type 'typeof import("/Users/johannesklauss/Documents/Development/ay-coding-challenge/src/screens/Products/List")' but required in type '{ default: ComponentType<any>; }'.
我不太确定我应该在这里做什么才能使其正常工作。
回答:
您应该export default class {...}
从而./screens/Products/list
不是从开始export class
ScreensProductList {...}。
或者,您也可以执行以下操作:
const ScreensProductList = lazy(() => import('./screens/Products/List')
.then(({ ScreensProductList }) => ({ default: ScreensProductList })),
);
以上是 将React.lazy与TypeScript一起使用 的全部内容, 来源链接: utcz.com/qa/412090.html