일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- CSS
- importOrder
- vscode
- 협업
- 클로저
- 이슈번호자동화
- eslint 자동화
- 프로젝트 카페인
- string-width
- 우아한테크코스
- 유틸함수
- prettier 자동화
- 우테코
- chromatic
- 프로젝트
- react
- JavaScript
- Husky
- 카페인
- 자바스크립트
- IDL attributes
- 크로마틱
- webpack
- git hooks
- eslint에러 자동fix
- 성능 베이스캠프
- css instead of js
- storybook
- 클린코드
- import정리
- Today
- Total
목록클린코드 (2)
FEB:)DAIN
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/evdKoD/btssikQEniT/IWSmMkWFvT7mwqKSIMMY5K/img.png)
0. 리팩터링을 진행한 이유와 요구사항 팝업 메뉴를 구현한 팀원의 코드를 보니 ref를 쓰지 않고, css만으로도 간단하게 구현할 수 있을 것 같아 리팩터링을 진행했다. 팀원의 요구사항은 다음과 같았다. 1) 트리거의 위치가 바뀌어도 팝업 메뉴가 그 트리거 옆에 있어야 한다. 1-1) 얼마나 떨어져 있을지도 정할 수 있어야 한다. 2) 팝업 메뉴 크기는 자식 메뉴에 맞춰 유동적으로 바뀌어야 한다. 2-1) 자식 메뉴 수는 줄이거나 늘릴 수 있다. 메뉴 수에 따라 팝업 메뉴 높이가 바뀌어야 한다. 2-2) 자식 메뉴 글자 수가 길어지면 그 길이에 맞춰 팝업 메뉴 너비가 늘어나야 한다. 1. 코드 비교 1) Ref를 이용한 팝업 메뉴 - 리팩터링 전 // Menu.tsx // PopupMenu.tsx imp..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NnFzm/btskgHNWYrG/G5RlqQoRW5CKZpGoc6QTY1/img.png)
❗아래 방법들을 이용해 코드 양을 줄여 코드 가독성을 조금이나마 높일 수 있다. 1. 구조 분해 할당 (destructuring assignment) 구조 분해 할당 배열이나 객체의 속성을 해체하여 변수에 할당하는 자바스크립트 표현식 const { hi, hello } = greetings; console.log(hi, hello); // console.log(greetings.hi, greetings.hello); const getValue = ({ target: { value } }) => value; /* const getValue = (event) => event.target.value; */ const getTarget = ({ target }) => target; /* const getTarg..