Next.js: L'élément de mise en page de l'image n'existe pas dans TS

Créé le 8 nov. 2020  ·  4Commentaires  ·  Source: vercel/next.js

Rapport d'erreur

(JSX attribute) layout: string
No overload matches this call.

Reproduire

Il suffit d'avoir Next dans un projet, importez next/image et essayez d'utiliser un accessoire de mise en page comme ceci:

<Background src='/img/header.png' quality={100} layout='fill' />

Comportement attendu

Un accessoire fonctionnel reconnu par l'éditeur.

Captures d'écran

{
    "dependencies": {
        "next": "10.0.2-canary.4"
    }
}

Informations système

  • OS: Windows
  • Version de Next.js: 10.0.2-canary.4
  • Version de Node.js: v14.15.0

Contexte supplémentaire

L'accessoire fonctionne mais n'est pas reconnu par l'éditeur.

bug

Commentaire le plus utile

Fonctionne-t-il avec l'utilisation standard de import Image from 'next/image' ?

Si tel est le cas, cela ressemble à un bogue avec styled-components .

Tous les 4 commentaires

Votre exemple dit Background au lieu de Image . Vous utilisez peut-être le mauvais composant.

J'ai confirmé que layout="fill" fonctionnait correctement avec TS et il propose même la suggestion.

image

Assurez-vous d'utiliser import Image from 'next/image' pour importer le bon composant.

@styfle maintenant, je crois que j'ai trouvé le vrai problème, lorsque j'utilise le composant Image avec des composants

Fonctionne-t-il avec l'utilisation standard de import Image from 'next/image' ?

Si tel est le cas, cela ressemble à un bogue avec styled-components .

Cela fonctionne avec l'importation par défaut, qui résout le problème, merci!

Cette page vous a été utile?
0 / 5 - 0 notes