카
카카오엔터테인먼트FE
September 8, 20221회
React 이벤트와 브라우저 이벤트
간단 소개
React와 Swiper를 함께 사용할 때 발생하는 이벤트 충돌 문제 해결 과정을 통해, 이벤트 처리 방식의 이해와 중요성을 강조합니다.
AI Summary
- 문제 상황: React와 Swiper 라이브러리 함께 사용 시, Swiper의 클릭 이벤트와 내부 버튼의 클릭 이벤트가 충돌하여
stopPropagation이 제대로 동작하지 않는 문제 발생- Swiper는
touchend이벤트를 기반으로 자체적인 클릭 이벤트를 발생시키므로, 브라우저의 click 이벤트 전파를 막는 것이 효과가 없음 - React 이벤트는 React 루트 요소에 이벤트 리스너를 붙여 관리하므로, 이벤트 발생 순서가 예상과 다를 수 있음
- Swiper는
- 해결 방안: 이벤트 처리 순서와 React의 이벤트 시스템 이해를 바탕으로 문제 해결
- 캡처 단계를 이용하는 방법은 복잡성 증가 우려로 적절하지 않음
- Swiper가 상위 요소가 되도록 렌더링되는 button 요소에 클릭 이벤트를 직접 붙이는 방법은 동작은 보장되나, 코드 유지보수성이 떨어질 수 있음
- Swiper 컴포넌트를 래핑하는 React Element를 만들어
onClick이벤트 리스너를 추가하는 방법이 가장 간단하고 직관적이며, 장기적인 유지보수 측면에서 유리함
- 결론: React와 외부 라이브러리(특히 이벤트 처리)를 함께 사용할 때는 이벤트 처리 방식의 차이를 이해하고, 발생 순서를 고려하여 이벤트 충돌을 방지해야 함. 간단하고 직관적인 해결 방법이 유지보수에 도움이 됨
Next Feeds
카카오페이 Developer Relations 활동 엿보기
카카오페이의 Developer Relations 활동을 소개하고, 기술 블로그, 하우스키핑 데이, 테크톡, 개발자 페스티벌 등 주요 활동 내용을 요약합니다.
Developer Relations기술 블로그하우스키핑 데이테크톡ㅋㅍㄱㅍ
2022. 9. 6.
카카오페이
자바스크립트 지도 엔진에 웹 워커를 적용해봤습니다 - 14편 - 웹 워커, 어디까지 써봤니?
자바스크립트 지도 엔진 TMAP JS에 웹 워커를 적용하여 성능을 개선한 과정과 결과를 설명하고, 웹 워커 활용 팁을 공유합니다.
자바스크립트웹 워커TMAP JSWebGL성능 개선
2022. 9. 5.
티맵모빌리티
실전에서 AWS Lambda 적극 활용해본 이야기
타다의 드라이버 관리 시스템(DRS) 개발 사례로, AWS Lambda를 활용하여 PDF 분리 및 QR 코드 인식 기능을 구현하고 효율성을 높인 경험을 공유합니다.
AWS LambdaServerlessDRSQR 코드 인식PDF 분리
2022. 9. 2.
VCNC

1년차 개발자의 훈수 두기
1년차 백엔드 개발자의 경험을 바탕으로 학교와 회사의 차이, 재택근무의 장단점, 문서화의 중요성, 그리고 신입 개발자와 시니어 개발자 간의 효과적인 협력 방안을 제시합니다.
신입 개발자재택근무문서화협업코드 퀄리티
2022. 9. 1.
스포카

새로운 컬리몰 NX를 소개합니다.
컬리몰이 레거시 시스템을 탈피하고 Next.js 기반 NX 프로젝트를 통해 성능 개선, 사용자 경험 향상, 코드 품질 개선을 이룬 여정을 소개합니다.
컬리몰NXNext.js레거시 시스템성능 개선
2022. 8. 31.
컬리

Programmable Realtime Webhoook System
Airbridge는 Programmable Webhook 시스템을 통해 Postback을 효율적으로 관리하고, 다양한 매체 연동 및 성능 개선을 추구합니다.
PostbackWebhookTemplate EngineAirbridgeAPI
2022. 8. 30.
AB180