-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
오버레이 표시 여부를 관리하는 overlay controller 모듈을 추가합니다. #1846
Conversation
This reverts commit 35c6679.
Codecov Report
@@ Coverage Diff @@
## main #1846 +/- ##
==========================================
+ Coverage 23.80% 24.10% +0.29%
==========================================
Files 507 510 +3
Lines 9900 9941 +41
Branches 2963 2967 +4
==========================================
+ Hits 2357 2396 +39
- Misses 7257 7259 +2
Partials 286 286
Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
오 빨리 테스트해보고 싶네요! Next.js의 페이지 라우팅은 어떻게 반응하는지 궁금해요. History provider에서는 iOS와 Android에서의 뒤로가기 동작을 다르게 제어하는 내용도 있는데, 그것에 대한 OverlayController의 처리 방법도요
Next.js의
요 부분은 제가 배경 설명을 누락했네요! |
요거 작동을 안 하는군요....ㅋㅋㅋ ㅠㅠ |
Next.js Router를 벗어난 곳에서 History를 변경하게 되면 Push 시에나 뒤로가기 시에 원치 않는 일반 HTTP Routing이 일어날 때가 있더라고요. 그런 경험이 생각나서 테스트가 필요하다고 보았어요. iOS와 Android의 다른 동작은 클라이언트, 기획, 디자인 등등 Stakeholder가 꽤 많아서 협의는 한 번 하고 넘어가야 할 것 같긴 해요. 현재 웹 페이지들의 동작은 각 플랫폼의 Native client 동작과 최대한 유사하게 맞춰 둔 거여서요! 이를테면 iOS의 네이티브 뷰에서 보이는 팝업/모달은 엣지 스와이프를 해도 닫히지 않는데, Android에서는 뒤로가기로 닫을 수 있거든요. |
This reverts commit aa1a6a6.
Next.js의 해시 변경 이벤트를 활성화하기 위해 next/router로 해시를 변경합니다.
고민해보다보니 iOS, Android 분기와 별개로 계속 push를 하는 게 뒤로가기로 창을 닫는 액션에 영향을 줄 수 있겠네요..ㅠㅠ |
UX 논의 결과에 맞게 변경해서 돌아오겠습니다. |
토스는 모달, 바텀시트 등등 .. only state 제어에요 (속닥속닥) |
PR 설명
팝업, 모달, 다이얼로그 등을 오버레이로 총칭하고, 이들 UI의 표시 여부를 관리할 수 있는 overlay controller 모듈을 추가합니다.
history context를 대체하는 것이 목적입니다. history context보다 선언하기 쉽고, 오류가 적은 모델을 목표로 합니다.
사용 방법
먼저
pages/_app.tsx
에 Provider를 추가하세요. 다른 context의 의존성이 없기 때문에 순서는 상관 없습니다.그 다음 필요한 컴포넌트에서 훅으로 컨트롤러를 선언해줍니다. 이때, 파라미터로 고유한 id를 넘겨줘야합니다.
컴포넌트에 표시 여부, 표시, 비표시 메서드를 연결합니다.
변경 내역
history-context와 차이점
체크리스트