공부 자료/리액트[React]
[React] 버튼 기능 / Badge, ButtonStrap, ButtonGroupStrap
희희웃는청바지
2023. 10. 26. 08:54
reactstrap의 버튼 Button
( 시작하기 전 유의사항 )
태그의 button과 리액트의 컴포넌트 Button은 첫 글자를 대문자로 한다는 점으로 구분
태그와 컴포넌트라는 차이점이 존재
[Button / Badge]
import { Badge, Button } from "reactstrap"; // (1)
function ButtonStrap(){
return(
<>
<h1> PRODUCT NAME <Badge color='secondary'>hit</Badge></h1> // (1)
// (2)
<Button color="warning" outline>
Accessor <Badge color="dark">4</Badge>
</Button>
// (3)
<Badge color="danger" pill>pill</Badge>
// (4)
<Badge href="http://daum.net" color="warning">GoLink</Badge>
</>
)
}
export default ButtonStrap;
(1) Button을 사용하기 위해서는 import를 하여 Button의 기능을 가져와야 함
(2) Badge는 꾸미는 용도로 주로 사용
(3) Button의 경우 클릭에 대한 이벤트로 주로 사용하며, outline은 버튼에 이벤트(마우스) 발생 시 채워지는 구조
(4) pill은 채워진 Button을 생성
(5) Badge의 경우 꾸미는 용도로 많이 사용하지만 링크를 활용하기도 함
* Reactstrap/bootstrap의 경우 색상은 홈페이지에 존재하며, 주어진 색상 이외에는 사용이 불가능
[ButtonGroup]
위에서는 Button을 하나만 사용했다면,
Button을 그룹지어 사용하고 싶은 경우에는 ButtonGroup을 사용
import { useState } from 'react';
import {Button, ButtonDropdown, ButtonGroup, DropdownItem, DropdownMenu, DropdownToggle} from 'reactstrap';
function ButtonGroupStrap(){
const [number, setNumber] = useState(0); // 플러스 마이너스 숫자 업다운 관련 코드
const [open, setOpen] = useState(false); // 드롭다운 관련 코드
return(
<> // (1)
<ButtonGroup vertical>
<Button>Left</Button>
<Button>Middle</Button>
<Button>Right</Button>
</ButtonGroup>
<br/><br/>
{/* 페이징 처리와 같은 그룹핑 가능 */}
<ButtonGroup>
<Button><</Button>
<Button>1</Button>
<Button>2</Button>
<Button>3</Button>
<Button>4</Button>
<Button>></Button>
</ButtonGroup>
<br/><br/>
{/* 플러스 마이너스 숫자 업다운 */}
<ButtonGroup>
<Button onClick={()=>setNumber(number-1)}>-</Button>
<Button disabled>{number}</Button>
<Button onClick={()=>setNumber(number+1)}>+</Button>
</ButtonGroup>
<br/><br/>
// (2)
<ButtonGroup>
<Button></Button>
<Button></Button>
<ButtonDropdown direction="right" isOpen={open} toggle={() => setOpen(!open)}>
<DropdownToggle caret>
선택
</DropdownToggle>
<DropdownMenu>
<DropdownItem>3</DropdownItem>
<DropdownItem>4</DropdownItem>
</DropdownMenu>
</ButtonDropdown>
</ButtonGroup>
</>
)
}
export default ButtonGroupStrap;
(1) ButtonGroup은 기본적으로 가로로 출력되며, vertical 지정 시 세로로 지정이 가능
(2) ButtonGroup안에 다른 컴포넌트 기능들도 추가가 가능함 (드롭다운과 관련된 설명은 아래 참고)
2023.10.26 - [공부 자료/리액트[React]] - [React] 드롭다운 / DropdownStrap