
상태에 따른 메뉴 배열 정의:
commonLoggedInMenu)chefMenu)loggedOutMenu)조건부 메뉴 구성 로직:
const currentMenu = user
? user.chef_code === 1
? [...commonLoggedInMenu, ...chefMenu]
: commonLoggedInMenu
: loggedOutMenu;
user 객체 존재 여부로 판단user.chef_code === 1로 확인동적 메뉴 렌더링:
{currentMenu.map((item, index) => (
<Nav.Link
key={index}
as={Link}
to={item.to}
onClick={handleClose}
className={styles.navLink}
>
{item.icon && <span className={styles.icon}>{item.icon}</span>}
{item.text}
</Nav.Link>
))}
currentMenu 배열을 순회하며 각 메뉴 항목을 동적으로 렌더링프로필 섹션 조건부 렌더링:
{user ? (
<Nav.Link/* 로그인 상태의 프로필 섹션 */ />
) : (
<Nav.Link/* 비로그인 상태의 프로필 섹션 */ />
)}
셰프회원 뱃지 조건부 렌더링:
{user.chef_code && user.chef_code === 1 ? (
<div className={styles.chefBadge}>
<span className={styles.chefText}>셰프등급</span>
<FaChessKing />
</div>
) : null}
장점: