const Game = React.lazy(() => new Promise( (resolve) => {
setTimeout( () => resolve(import('./Game')) , 1000)
}))
错误:错误:(6,35)TS 2345:类型为“Promise〈导入类型(“D:/PROGECTS/SnakeReactReduxTS/snake-react-redux-ts/src/Components/Stages/Game”)〉"的参数不能分配给类型为“{默认值:从不; }|类似承诺〈{默认值:从不; }〉|类型“承诺〈导入类型(“D:/PROGECTS/SnakeReactReduxTS/snake-react-redux-ts/src/Components/Stages/Game”)〉"不能分配给类型“类似承诺〈{默认值:属性“then”的类型不兼容。类型“〈TResult 1 =导入类型(“D:/PROGECTS/SnakeReactReduxTS/snake-react-redux-ts/src/Components/Stages/Game”),TResult 2 =从不〉(是否已实现?:((值:导入类型(“D:/PROGECTS/蛇React还原型TS/蛇React还原型ts/源代码/组件/阶段/游戏”))=〉TResult 1|类似<...>承诺)|零|未定义,是否拒绝?:((reaso...“不能赋值给类型”〈TResult 1 = {默认值:从不; },TResult 2 =从不〉(是否已履行?:((值:{默认值:从不; })=〉TResult 1|类似承诺)|零|未定义,是否拒绝?:((原因:任何)=〉T结果2|类似<...>承诺)|零|undefined)=〉PromiseLike<...>“。参数”onfulfuled“和”onfulfuled“的类型不兼容。参数”value“和”value“的类型不兼容。类型”typeof import(“D:/PROGECTS/SnakeReactReduxTS/snake-react-redux-ts/src/Components/Stages/Game”)“中缺少属性”default“,但类型”{ default:从不;}'。
他想从我这里得到什么?
4条答案
按热度按时间pnwntuvh1#
lazy
函数返回{默认值:...}对象,该对象被异步调用,并且将await
,直到承诺未被解析为止,该对象被延迟1000 ms
,并且最终将导入Game
组件并将其返回。希望这有帮助!!
lsmepo6l2#
他想从我这里得到什么?
你想从他身上得到什么?
React.lazy
的用法应该是:你可能有一个更具体的用例(告诉我们),但基本的用法是这样的。
我邀请您阅读文档www.example.comhttps://reactjs.org/docs/code-splitting.html#reactlazy
j8ag8udp3#
你已经试过这个了
fruv7luv4#
React.lazy
需要默认导出。如果您的'./Game'
不是export default
,则此操作将不起作用。您可以尝试这样做(我猜您要导出
'./Game'
文件中名为Game
的组件),否则,使用默认导出。