728x90
- map으로 메뉴를 만들고 개별로 아코디언 메뉴 만들때 이벤트 걸어주기
import { useState } from "react";
const MenuArray = [
{
title:"메뉴1"
},
{
title:"메뉴2"
},
{
title:"메뉴3"
},
{
title:"메뉴4"
},
];
const Test = () => {
const [activeIndex, setActiveIndex] = useState(-1);
const handleToggleMenu = (index) => {
setActiveIndex(index === activeIndex ? -1 : index);
};
return(
<>
<ul>
{MenuArray.map((item, index) =>
<li
key={index}
className={`menu ${
index === activeIndex ? "active" : ""
}`}
onClick={() => handleToggleMenu(index)}
>
{item.title}
</li>
)}
</ul>
</>
)
}
export default Test;
하나의 useState를 사용하여 4개의 메뉴에 각각 onClick 이벤트를 적용시켜 클릭한 메뉴에만 active 클래스를 추가/제거한다.
'Programming > React' 카테고리의 다른 글
[React] TypeScript에서 Swiper 사용하기 (0) | 2024.01.13 |
---|---|
[React] axios POST API 이미지와 함께 보내기 (1) | 2023.09.20 |
[React] map 함수안에 array 배열 뿌리기 (0) | 2022.10.20 |
[React] React Project에서 간단한 탭 메뉴 만들기 (0) | 2022.10.11 |
[React]React 기초 - inline style 작성하기 (0) | 2022.08.29 |