티스토리 뷰

 

import React, { useState} from "react";

function TabMenu() {
  const [activeIndex, setActiveIndex] = useState(0);
  const tabContArr = [
    {
      id: 0,
      tabTitle: "받은 질문",
      tabCont: (
        <div>
          <Tab1></Tab1>
        </div>
      ),
    },
    {
      id: 1,
      tabTitle: "보낸 질문",
      tabCont: (
        <div>
          <Tab2></Tab2>
        </div>
      ),
    },
  ];

  return (
    <div style={{ padding: "10px" }}>
      <ul>
        {tabContArr.map((item) => (
          <li
            className={activeIndex === item.id ? "is-active" : ""}
            onClick={() => setActiveIndex(item.id)}>
            {item.tabTitle}
          </li>
        ))}
      </ul>
      
      {tabContArr
        .filter((item) => activeIndex === item.id)
        .map((item) => (
          <div>{item.tabCont}</div>
        ))}
    </div>
  );
}

function Tab1() {
  return <div>TAb1 content</div>;
}

function Tab2() {
  return <div>TAb2 content2</div>;
}

export default TabMenu;

'프론트엔드 > React' 카테고리의 다른 글

[React] Portal을 통한 이벤트 버블링  (0) 2023.08.11
[React] React Portal  (0) 2023.08.11
[React] excel download 기능 구현하기  (0) 2023.06.27
[React] Hooks  (0) 2023.05.22
[react-router-dom] useParams  (0) 2023.02.17
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함