Project/foliohub

[Next.js] fill์„ ์‚ฌ์šฉํ•œ ์ด๋ฏธ์ง€์— sizes ์ถ”๊ฐ€ (Image with src "~~" has "fill" but is missing "sizes" prop. Please add it to improve page performance.)

์†”B 2024. 4. 14. 02:47

๐Ÿšจ ๊ฒฝ๊ณ  ๋ฐœ์ƒ 

Image with src "~~" has "fill" but is missing "sizes" prop. Please add it to improve page performance.

Read more: https://nextjs.org/docs/api-reference/next/image#sizes

 

๐Ÿค” ์›์ธ

ํ•ด๋‹น ๋งํฌ๋กœ ๋“ค์–ด๊ฐ€ ๋ณด๋‹ˆ ๋‚ด์šฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜๋‹ค.

sizes์˜ ๊ฐ’์€ fill์„ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฏธ์ง€๋‚˜ ๋ฐ˜์‘ํ˜• ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„ ์ด๋ฏธ์ง€์— ๋Œ€ํ•œ ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.
"fill" ์†์„ฑ์ด ์žˆ๋Š” ์ด๋ฏธ์ง€์— "sizes"๊ฐ’์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ 100vw๊ฐ€ ์‚ฌ์šฉ๋œ๋‹ค.

 

์ด๊ฒŒ ๋ฌด์Šจ ๋œป์ธ์ง€ ์ข€ ๋” ์ฐพ์•„๋ดค๋Š”๋ฐ

fill ์†์„ฑ์„ ์‚ฌ์šฉํ•œ ์ด๋ฏธ์ง€์˜ ๊ฒฝ์šฐ ์ด๋ฏธ์ง€๊ฐ€ ์ „์ฒด ๋ทฐํฌํŠธ๋ฅผ ์ฑ„์šฐ๋„๋ก ํ™•์žฅ๋˜์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. ํ•˜์ง€๋งŒ sizes์†์„ฑ์ด ์ง€์ •๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ „์ฒด ํ™”๋ฉด ๋„“์ด(100vw)์— ํ•ด๋‹นํ•˜๋Š” ํฌ๊ธฐ๋กœ ์„ค์ •๋œ๋‹ค. 

์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋ฐ›์„ ๋•Œ sizes์†์„ฑ์„ ํ†ตํ•ด ์–ด๋–ค ํฌ๊ธฐ์˜ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ• ์ง€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š”๋ฐ sizes์†์„ฑ์ด ์—†์œผ๋ฉด ๋ธŒ๋ผ์šฐ์ €๋Š” ๋ทฐํฌํŠธ๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ „์ฒด ํ™”๋ฉด ํฌ๊ธฐ์™€ ๊ฐ™์€ ์ด๋ฏธ์ง€๋ฅผ ์„ ํƒํ•œ๋‹ค. ์ด๋Š” ์„ฑ๋Šฅ์— ์ข‹์ง€ ์•Š๋‹ค. 

๋”ฐ๋ผ์„œ fill์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฏธ์ง€์—๋Š” sizes์†์„ฑ์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ์ด๋ฏธ์ง€๋ฅผ ์„ ํƒํ•˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•ด ๋ถˆํ•„์š”ํ•œ ๋Œ€์šฉ๋Ÿ‰ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐ŸŽ‰ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

fill์„ ์‚ฌ์šฉํ•œ ๋ถ€๋ถ„์— ์ ์ ˆํ•œ sizes๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

๋‹ค์‹œ ์ •๋ฆฌํ•˜์ž๋ฉด, sizes๋Š” ๋ทฐํฌํŠธ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€๊ฐ€ ์–ด๋–ค ํฌ๊ธฐ๋กœ ํ‘œ์‹œ๋ ์ง€ ๋ธŒ๋ผ์šฐ์ €์—๊ฒŒ ์•Œ๋ ค์ค˜ ์˜ฌ๋ฐ”๋ฅธ ํฌ๊ธฐ์˜ ์ด๋ฏธ์ง€๋ฅผ ์„ ํƒํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.

<Image
    src={imageUrl}
    className="object-cover"
    alt={`image_${id}`}
    fill
    sizes="(max-width: 842px) 100vw, 80vw"
/>