일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
- react-hook-form
- 티스토리챌린지
- tanstackquery
- frontend
- storybook
- 웹애플리케이션서버
- Gin
- Redux
- hook
- RTK
- go
- backend
- css
- java
- Spring
- typescript
- React
- designpatterns
- javascript
- JavaSpring
- Chakra
- satisfiles
- component
- test
- JPA
- golang
- 오블완
- springboot
- ReactHooks
- Today
- Total
목록component (2)
bkdragon's log
브라우저 처럼 드래그로 이동이 가능한 모달창을 만들어보자.기본 아이디어는 아래와 같다:마우스로 모달창을 클릭한 순간 현재 마우스 위치와 모달의 좌측 상단 모서리와 차이를 저장하고 드래그 중임을 알려주는 flag 상태를 true로 만든다.flag 가 true가 되면, movemove 이벤트 리스너를 등록하고, 움직이는 위치로 위치 상태값을 업데이트 시킨다.현재 마우스 위치와 모달의 좌측 상단 모서리와의 차이가 왜 필요한지는 예를 들면 쉽게 이해된다.만약 모달의 현재 위치가 (100, 100) 이고, 마우스 클릭 위치가 (120, 130) 이라면차이(dragOffset)는 (20, 30) 이 된다.그리고 마우스를 (150, 160) 으로 이동 하면새로운 모달 위치를 dragOffset 을 빼면 얻을 수 있..
화면 하단에서 올라오는 BottomSheet 를 React로 구현해보려고 한다. 데스크탑 해상도에서 Modal 창을 사용하는 화면을 대체할 수 있을 것 같다. 주 기능은 아래와 같다.특정 동작(버튼 클릭 등) 이후 화면 아래에서 올라온다.드래그를 통해 화면 아래로 내릴 수 있다.style은 tailwindcss를 사용했다.주 기능을 토대로 Props의 interface 부터 만들어보자.interface IProps { isOpen: boolean; onClose: () => void; children: React.ReactNode;}보여져야 하는 상황인지 알 수 있는 상태와 다시 안보이게 할 수 있는 함수를 받는다. UI와 기본 기능만 재활용할 것이기 때문에 내부 요소들은 children..