const Game = React.lazy(() => new Promise( (resolve) => {
setTimeout( () => resolve(import('./Game')) , 1000)
}))
Error : Error:(6, 35) TS2345: Argument of type 'Promise<typeof import("D:/PROGECTS/SnakeReactReduxTS/snake-react-redux-ts/src/Components/Stages/Game")>' is not assignable to parameter of type '{ default: never; } | PromiseLike<{ default: never; }> | undefined'.
Type 'Promise<typeof import("D:/PROGECTS/SnakeReactReduxTS/snake-react-redux-ts/src/Components/Stages/Game")>' is not assignable to type 'PromiseLike<{ default: never; }>'.
Types of property 'then' are incompatible.
Type '<TResult1 = typeof import("D:/PROGECTS/SnakeReactReduxTS/snake-react-redux-ts/src/Components/Stages/Game"), TResult2 = never>(onfulfilled?: ((value: typeof import("D:/PROGECTS/SnakeReactReduxTS/snake-react-redux-ts/src/Components/Stages/Game")) => TResult1 | PromiseLike<...>) | null | undefined, onrejected?: ((reaso...' is not assignable to type '<TResult1 = { default: never; }, TResult2 = never>(onfulfilled?: ((value: { default: never; }) => TResult1 | PromiseLike) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<...>) | null | undefined) => PromiseLike<...>'.
Types of parameters 'onfulfilled' and 'onfulfilled' are incompatible.
Types of parameters 'value' and 'value' are incompatible.
Property 'default' is missing in type 'typeof import("D:/PROGECTS/SnakeReactReduxTS/snake-react-redux-ts/src/Components/Stages/Game")' but required in type '{ default: never; }'.What does he want from me?
3 Réponses :
const Game = React.lazy(() => import('./Game'))
You have try this
Je veux faire simuler le retard
Que veut-il de moi? P>
Que voulez-vous de lui? p>
réact.lazy code> doit être utilisé comme celui-ci: P>const Game = React.lazy(() => import('./Game'));
Je veux faire simuler le retard
Cette réponse ne répond pas à la question initiale; Voir @solanki ... ci-dessous pour une réponse qui fonctionne correctement avec Typescript.
paresseux code> La fonction renvoie une promesse de {Par défaut: ...} objet appelé asynchrone et attendre code> Jusqu'à ce que la promesse ne soit pas résolue que daid retardé pour 1000 ms code> et à la fin, il importera le composant code> code> et le renvoyera. const Game = React.lazy(async () => {
await new Promise(resolve => setTimeout(resolve, 1000));
return import('./Game');
});
Typescript jure. J'ai besoin de le tyran
Fonctionne pour moi magnifiquement à TypeScript et est également facile à lire dans sa séquence, donc un exemple où async / attendre peut améliorer la lisibilité.
Bonjour, donnez-nous plus d'informations sur ce que tu vas faire? Quels efforts avez-vous fait et quel est le problème à faire face? Et, s'il vous plaît, s'il vous plaît, faites le journal d'erreur facile à lire
Je veux faire simuler le retard. Le code fonctionne bien sur JS, je veux juste le tyran