데브허브 | DEVHUB | Build and Deploy a Full-Stack Hotel Website with Astro & SanityBuild and Deploy a Full-Stack Hotel Website with Astro & Sanity
- Astro와 Sanity를 활용하여 호텔 웹사이트의 편의 시설 섹션을 구축하며, 이전 카테고리 섹션과 유사한 접근 방식을 따릅니다. 🏗️
amenities.astro 섹션 파일과 개별 편의 시설을 표시하는 amenityCard.astro 컴포넌트를 생성하여 모듈화된 개발을 진행합니다. 🧩
amenityCard 컴포넌트는 icon, name, description 세 가지 프롭스를 받아 동적으로 내용을 렌더링하도록 설계되었습니다. 🎁
cd-react-icons에서 필요한 아이콘(Wi-Fi, Utensils, Dumbbell, WavesLadder)을 가져오고, 아이콘 이름을 프롭스로 전달받아 조건문(if/else if)을 통해 해당 아이콘을 동적으로 표시합니다. 💡
- Astro 파일 내에서 HTML 요소에는
class를 사용하고, React 기반 아이콘 컴포넌트에는 className을 사용하여 Astro와 React 컴포넌트의 클래스 처리 방식 차이를 명확히 설명합니다. ⚛️
- Tailwind CSS 유틸리티 클래스(
flex, grid, space-y, padding, margin, text 등)를 활용하여 컴포넌트의 레이아웃과 스타일을 효율적으로 적용합니다. 🎨
- 모바일(스택), 태블릿(2열), 데스크톱(4열) 등 다양한 화면 크기에 맞춰 편의 시설 카드의 레이아웃이 자동으로 조정되도록 반응형 디자인을 구현합니다. 📱
amenities.astro에서 정의된 편의 시설 데이터를 amenityCard 컴포넌트로 프롭스를 통해 전달하여 UI에 바인딩하고, 아이콘과 헤딩 사이의 여백 등 세부 스타일을 조정합니다. 🔗