[CHAM] label 위치 옮기기

2022. 10. 12. 15:08·개인프로젝트/CHAM
728x90
반응형

1. 회원가입 모달창

회원가입 모달창에서 나는 기존 방식을 벗어나 좌우로 한칸씩 넘기는 UI를 만들기로 했다.

이때 해당 입력하는 Input의 위치를 알려주는 레이블을 만들었다.

 

1) 레이블 만들기

레이블의 색깔을 넣어주기 위해 index를 state로 만들어 관리했고 화살표 버튼을 누를때마다 조절해줬다.

그 레이블이 index가 x일때 초록색으로 바뀌게 코드를 짰다.

<Label
  style={{ backgroundColor: index === 0 ? "green" : "black" }}
/>
<Label
  style={{ backgroundColor: index === 1 ? "green" : "black" }}
/>
<Label
  style={{ backgroundColor: index === 2 ? "green" : "black" }}
/>
<Label
  style={{ backgroundColor: index === 3 ? "green" : "black" }}
/>
<Label
  style={{ backgroundColor: index === 4 ? "green" : "black" }}
/>
<Label
  style={{ backgroundColor: index === 5 ? "green" : "black" }}
/>
<Label
  style={{ backgroundColor: index === 6 ? "green" : "black" }}
/>
<Label
  style={{ backgroundColor: index === 7 ? "green" : "black" }}
/>

2) 리팩터링

7개를 늘어놓은게 너무 길어보였고 보기 싫었다.

그래서 map을 통해 반복하여 만들기로 했다.

{new Array(8).fill(0).map((v, idx) => (
  <Label
    style={{ backgroundColor: idx === index ? "green" : "black" }}
    key={idx}
  />
))}

그래서 위와 같이 코드를 간단하게 줄였다.

나중에 알게된 사실이지만 styled-component에 props를 넘겨 삼항연산자로 처리할수 있었다.

728x90
반응형

'개인프로젝트 > CHAM' 카테고리의 다른 글

[CHAM] image 올리기  (0) 2022.10.14
[CHAM] 드래그 슬라이드 만들기  (1) 2022.10.13
[CHAM] style.display 적용이 안됨  (0) 2022.10.12
[CHAM] 모달창 만들기  (0) 2022.10.12
[CHAM] 기획  (1) 2022.10.12
'개인프로젝트/CHAM' 카테고리의 다른 글
  • [CHAM] image 올리기
  • [CHAM] 드래그 슬라이드 만들기
  • [CHAM] style.display 적용이 안됨
  • [CHAM] 모달창 만들기
TeTedo.
TeTedo.
  • TeTedo.
    TeTedo 개발 일기
    TeTedo.
  • 전체
    오늘
    어제
    • 분류 전체보기 (319)
      • 개발 (274)
        • Article (4)
        • 정리 (21)
        • Spring Boot (17)
        • JPA (2)
        • JAVA (6)
        • Database (4)
        • 자료구조 (11)
        • 알고리즘 (32)
        • React (20)
        • Docker (10)
        • node.js (18)
        • Devops (11)
        • Linux (4)
        • TypeScript (3)
        • Go (10)
        • HyperLedger (4)
        • BlockChain (43)
        • html, css, js (48)
        • CS (3)
        • AWS (3)
      • 모아두고 나중에 쓰기 (3)
      • 팀프로젝트 (18)
        • SNS(키보드워리어) (9)
        • close_sea (9)
      • 개인프로젝트 (1)
        • Around Flavor (1)
        • CHAM (13)
        • ethFruitShop (5)
      • 독서 (0)
        • 스프링부트와 AWS로 혼자 구현하는 웹 서비스 (0)
  • 블로그 메뉴

    • 홈
    • 개발일기
    • CS
    • 실습
    • 코딩테스트
    • 웹
    • Go
    • node.js
    • 팀플
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    명령어
    nodejs
    node
    React
    30일 챌린지
    블록체인
    js
    node.js
    CSS
    도커
    erc20
    30일챌린지
    하이퍼레저
    mysql
    컨테이너
    go
    ERC721
    프로그래머스
    html
    go언어
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
TeTedo.
[CHAM] label 위치 옮기기
상단으로

티스토리툴바