쇼핑몰 프로젝트에서 상세페이지 구현을 위해 bootstrap Tab UI를 이용했다.
<Nav className="mt-5" variant="tabs" defaultActiveKey="link-0">
<Nav.Item>
<Nav.Link eventKey="link-0">Active</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="link-1">Option 2</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="link-2">Option 2</Nav.Link>
</Nav.Item>
</Nav>
defaultActiveKey : 기본적으로 눌러진 버튼에 해당하는 eventKey 입력
eventKey : 버튼들 마다 유니크하게 부여
import { Nav } from 'react-bootstrap'
let [tab, setTab] = useState(0)
...
...
<Nav className="mt-5" variant="tabs" defaultActiveKey="link-0">
<Nav.Item>
<Nav.Link eventKey="link-0" onClick={() => setTab(0)}>
Active
</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="link-1" onClick={() => setTab(1)}>
Option 2
</Nav.Link>
</Nav.Item>
<Nav.Item>
<Nav.Link eventKey="link-2" onClick={() => setTab(2)}>
Option 2
</Nav.Link>
</Nav.Item>
</Nav>
...
...
function TabContent(props) {
if (props.tab === 0) return <div>0</div>
else if (props.tab === 1) return <div>1</div>
else return <div>2</div>
}