I know that in Next.js we have Image component, but the problem I have with it is that I can't use it as a normal HTML tag like <img />
. I have to give it a layout, but there's no option to control it as a normal HTML tag, and besides that, I can't use framer motion with it.
So I just installed next-images
so I can import images and use them of course, and everything works fine, 'till I npm run build the landing page to see some results, and there's this warning:
Failed to compile.
./components/Presentation/Presentation.js
77:13 Error: Do not use <img>. Use Image from 'next/image' instead. See https://nextjs.org/docs/messages/no-img-element. @next/next/no-img-element
Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
npm ERR! code ELIFECYCLE
This is where I'm using img
tag with styled components:
<PresentationUnderText2 src="/underText-Presentation.png" alt="" />
<PresentationScissor2 src="/scissors.svg"alt=""/>
What can I do to use img
tag as normal?
There are two ways you can display images in Next. js, you either use the conventional <img> tag or a specialized <Image/> component that is unique to Next. The differences between these tags are quite much, but they pretty much do the same thing; which is to display images to the browser.
Firstly import the image component in next. js and define the image path in src props in the image component. Now your image shows in the browser. In the image component, src, width, and height props are required by next.
Img src Not Working That means, when a web page loads, the browser has to retrieve the image from a web server and display it on the page. The broken link icon means that the browser could not find the image. If you've just added the image, then check that you included the correct image URL in the source attribute.
From Next.js 11, ESLint is supported out-of-the-box and a new set of rules is now provided, including the @next/next/no-img-element
rule.
You can disable this specific ESLint rule, like any other rule, in your .eslintrc
file.
{
// ...
"rules": {
// Other rules
"@next/next/no-img-element": "off"
}
}
I do not have .eslintrc
file. instead I place this line at the top of the page or component
/* eslint-disable @next/next/no-img-element */
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With