mockCards가 화면의 원본 데이터
title, description, category, imgUrl이 카드 하나의 표시 단위가 된다.
이 실습은 카드 목록을 만드는 예제가 아니라, 인라인 스타일링, CSS 클래스, CSS 모듈, Styled-components가 각각 맡을 일을 나누는 연습이다.
title, description, category, imgUrl이 카드 하나의 표시 단위가 된다.
필터 버튼을 누르면 상태가 바뀌고, `filteredCards.map`이 다시 렌더링할 카드만 남긴다.
데이터 한 개가 `CardItem`의 props로 들어가고, 제목, 설명, 이미지, 카테고리 배지로 분해된다.
Styled-components 안의 `grid-template-columns`와 media query가 3열, 2열, 1열 전환을 만든다.
`.card`, `.cardImage`, `.cardContent`가 컴포넌트 내부에서만 유효하므로 이름 충돌을 피한다.
카테고리 값에 따라 작은 인라인 스타일만 바꾸고, 카드의 기본 구조는 CSS 모듈에 맡긴다.