<div>
3개가 필요하다.<Nav variant="tabs" defaultActiveKey="link0">
<Nav.Item>
<Nav.Link eventKey="link0">버튼0</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="link1">버튼1</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="link2">버튼2</Nav.Link>
</Nav.Item>
</Nav>
<div>내용0</div>
<div>내용1</div>
<div>내용2</div>
function Detail(){
let [tab, setTab] = useState(0)
}
function Detail(){
let [tab, setTab] = useState(0)
return (
<TabContent/>
)
}
function TabContent(props){
if (props.tab === 0){
<div>내용0</div>
}
if (props.tab === 1){
<div>내용1</div>
}
if (props.tab === 2){
<div>내용2</div>
}
}
let [tab, setTab] = useState(0)
에서 상태를 0,1,2 로 변경할 때마다 원하는 내용이 잘 보인다. <Nav variant="tabs" defaultActiveKey="link0">
<Nav.Item>
<Nav.Link onClick={()=>{ setTab(0) }} eventKey="link0">버튼0</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link onClick={()=>{ setTab(1) }} eventKey="link1">버튼1</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link onClick={()=>{ setTab(2) }} eventKey="link2">버튼2</Nav.Link>
</Nav.Item>
</Nav>
function TabContent(props){
return [ <div>내용0</div>, <div>내용1</div>, <div>내용2</div> ][props.탭]
}
✍ 삼항연산자가 아닌 if문을 컴포넌트로 만들어서 state상태를 변경하는 동적 UI를 만들어 보았다.
동적 UI를 만드는 step 3를 계속 복습하며 여러가지를 만들어보니 이제 어느정도는 감이 잡힌 것 같다 :)