인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

ys5133님의 프로필 이미지
ys5133

작성한 질문수

Next.js 시작하기

Next.js의 CSS 스타일링 방법 - CSS Module

Image 컴포넌트 width, height 속성

해결된 질문

작성

·

92

·

수정됨

1

Image 컴포넌트에 css 모듈 방식으로 width와 height 값을 설정하면 width, height 속성을 빼도 되는 줄 알았는데 빼보니까 width 속성이 필요하다고 에러가 나네요.

Image 컴포넌트는 무조건 크기를 지정해서 사용해야하나봅니다.

.item {
  display: inline-block;
  width: 300px;
  height: 300px;
  margin: 12px;
}

.img {
  width: 300px;
  height: 250px;
}
import axios from 'axios';
import Image from 'next/image';
import { useEffect, useState } from 'react';
import styles from './ProductList.module.css';

function ProductList() {
	const [products, setProducts] = useState();

	useEffect(() => {
		axios.get('http://localhost:4000/products').then(response => {
			setProducts(response.data);
		});
	}, []);

	return (
		<ul>
			{products &&
				products.map(product => (
					<li key={product.id} className={styles.item}>
						<div>
							<Image
								src={product.imageUrl}
								alt={product.name}
								className={styles.img}
							/>
						</div>
						<div>{product.name}</div>
					</li>
				))}
		</ul>
	);
}

export default ProductList;
image.png

 

답변 2

1

ys5133님의 프로필 이미지
ys5133
질문자

https://nextjs.org/docs/pages/api-reference/components/image
공식문서보니 필수속성이네요 !

0

안녕하세요, 아 네 맞아요. 이미지 최적화 때문에 사이즈 지정은 꼭 해주셔야 해요 :) 귀찮으시면 fill 속성 쓰셔도 됩니다 ㅋㅋ

ys5133님의 프로필 이미지
ys5133

작성한 질문수

질문하기