-
Notifications
You must be signed in to change notification settings - Fork 5
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
feat: 내비게이션 바 애니메이션 추가 #435
Conversation
컴포넌트의 렌더링 함수에서 정의한 컴포넌트라 분리
as prop을 적용해서 Button으로 통일
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.
깔끔하네요~!
Navbar가 전역으로 가니 간단하게 해결됐군요 👍
갠적으로는 내려가는 애니메이션도 맘에 드네용
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.
A
분리 좋습니다 👍
<Button type="button" onClick={askLogin}> | ||
<NavItem isActive={isActive(URL_PATH.petList)} iconId="leaf" label="내 식물" /> | ||
</Button> | ||
<Button as={Link} to={URL_PATH.login} state={{ prevPathname: pathname }}> |
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.
A
오 as를 쓰니 속성도 생기고 자동완성도 잘 되네요?
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.
참새 멋있습니다 진짜 감동의 네브바 슬라이드네요...
프레임 드랍만 어느정도 해결되면 좋을 것 같아요!
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.
R
전체적으로 Roof관련된 로직을 훅으로 분리하면 좀 더 깔끔할 것 같아요!
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.
R
아까 말한 프레임 드랍도 같이 해결하면 좋을 것 같아요!
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.
근데 이걸 훅으로 분리한다고 관심사 분리가 잘 될지는 모르겠네요..
roof position 자체가 navbar 내용물 순서에 종속되어 있는데 이 내용들이 jsx에 하드코딩되어 있기 때문에 어디를 분리하는 게 맞는지 잘 모르겠어요
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.
requestAnimationFrame도 찾아보니 화면 주사율에 따라서 호출 횟수가 달라서 이동 시간을 모든 모니터에서 동일하게 맞출 수 있는 방법이 있을까요?
const intersectionRef = useCallback( | ||
<T extends Element>(instance: T | null) => { | ||
if (instance) observer.observe(instance); | ||
}, | ||
[observer] |
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.
크~ 멋있ㅅ습니다
const SKELETONS = new Array(SKELETON_LENGTH) | ||
.fill(null) | ||
.map((_, index) => <GardenPostItemSkeleton key={index} />); |
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.
C
스켈레톤을 반환하는 값은 어차피 한번만 호출하면 되기 때문에 컴포넌트 밖으로 뺀 것인가요??
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.
네 기존의 컴포넌트 내부에서 컴포넌트 정의하는 문제를 해결하려고 밖으로 뺐는데 굳이 스켈레톤 목록이 컴포넌트여야 하는가라는 생각이 들어서 분리했어요
- 자식들 위치 계산 로직 훅으로 분리 - transition offset 계산 로직 분리
클린과 얘기 나눠보니까 확실히 분리하는 게 깔끔하겠더라구요 저도 마음으로는 컴포넌트 안쪽에 로직은 최대한 줄이는 게 좋다고 생각하고 있었지만 절대 재사용할 수 없는 로직을 마구 훅으로 분리하는 건 co-location이 아니라면 리팩터링 비용이 비싸다고 생각해서 망설이고 있었습니다. 근데 다시 생각해보니 너무 미래 중심적인 생각인 것 같았어요 확실히 분리하니까 보기 좋네요ㅋㅋㅋ 추가로 애니메이션이 휙휙 바뀌던 부분은 처리 완료했습니다
|
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.
멋져요!
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.
👍
* refacor: NavItem 컴포넌트 분리 컴포넌트의 렌더링 함수에서 정의한 컴포넌트라 분리 * refactor: NavLink 제거 as prop을 적용해서 Button으로 통일 * feat: Navbar 애니메이션 추가 * refactor: Navbar RootTemplate으로 이동 * refactor: 페이지 로딩 이후에 Navbar도 바뀜 * refactor: 컴포넌트 안에서 컴포넌트 정의하는 문제 수정 * refactor: 불필요한 non-null assertion, useMemo 제거 * refactor: exhaustive deps 문제 해결 * refactor: 애니메이션 로직 정리 - 자식들 위치 계산 로직 훅으로 분리 - transition offset 계산 로직 분리 * refactor: 애니메이션 계산 로직 분리 * fix: typo
* refacor: NavItem 컴포넌트 분리 컴포넌트의 렌더링 함수에서 정의한 컴포넌트라 분리 * refactor: NavLink 제거 as prop을 적용해서 Button으로 통일 * feat: Navbar 애니메이션 추가 * refactor: Navbar RootTemplate으로 이동 * refactor: 페이지 로딩 이후에 Navbar도 바뀜 * refactor: 컴포넌트 안에서 컴포넌트 정의하는 문제 수정 * refactor: 불필요한 non-null assertion, useMemo 제거 * refactor: exhaustive deps 문제 해결 * refactor: 애니메이션 로직 정리 - 자식들 위치 계산 로직 훅으로 분리 - transition offset 계산 로직 분리 * refactor: 애니메이션 계산 로직 분리 * fix: typo
🔥 연관 이슈
🚀 작업 내용
💬 리뷰 중점사항
css 쉽지 않네요..
대략적인 로직은 아래와 같습니다
페이지도 같은 방향으로 넘어가게 하는 것도 하고 싶었는데 이건 진짜 쉽지 않더라구요
리코일로 현재 페이지와 이전 페이지 두 개를 기억하는 쪽으로 구현해서 돌아가게는 할 수 있었는데 여러모로 부족한 부분이 많아 그냥 버렸습니다. 다가가는 방향 자체를 잘못 잡은 것 같아요