React 배송비 탭 드롭다운
구현 코드
shippingButtonClick = event => {
const { buttonValue } = this.state;
this.setState({
buttonValue: buttonValue === true ? false : true,
});
};
.
.
.
.
<div className="shippingFeeBox">
<div className="shippingFee">배송비</div>
<div className="shippingListsBox">
<ul className="shippingFeeLists">
개당 {productInfo.shippingFee}원
</ul>
<li
className={
buttonValue === true ? 'shippingFeeNone' : 'shippingLists'
}
>
<div className="typeBox">
<p className="shippingType">배송 타입</p>
<p className="shippingTypeValue">
{productInfo.shippingTypeValue}
</p>
</div>
<div className="typeBox">
<p className="payType">결제 방식</p>
<p className="payTypeValue">{productInfo.payTypeValue}</p>
</div>
</li>
</div>
<bitton
className="shippingFeeButton"
onClick={this.shippingButtonClick}
>
∨
</bitton>
코드 동작 원리
- 먼저 mock 데이터를 불러와 배송타입과 결제방식 항목에 값을 넣어준다
- 배송비 탭 우측 버튼에 onClick 이벤트를 선언한다
- 배송비 하단 드롭다운 영역을 display:none 이 적용된 className 과 기존의 css가 적용되어 있는 className 을 두가지 생성한다
- onClick 이벤트에서 className을 true false값으로 관리 하기 위해 초기값이 true인 status를 선언한다
- 클릭이 발생할때마다 true일땐 false로 false일댄 true 로 변경이 가능 하도록 status값을 바꾸는 조건식을 setState를 통해 관리한다
결과물
Author And Source
이 문제에 관하여(React 배송비 탭 드롭다운), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yshh0514/React-배송비-탭-열고-닫기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)