-
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
[FE] swipe 기능을 ref를 받아 쓰도록 개선한다 #959
Conversation
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.
자잘한 코멘트 있어서 달아놨어용~!
credentials: 'include', | ||
headers: { 'Content-Type': 'application/json' }, | ||
// 쿠키전달이기때문에 body가 비어있는 post |
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.
fetcher 내부에 이미 credentials: 'include',
이 포함되어 있어서 불필요한 코드인거 같네요~!
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.
반영했습니다.
body: JSON.stringify({ name, email, password }), | ||
return await fetcher.post({ | ||
url: `${BASE_URL}${ENDPOINT.REGISTER}`, | ||
body: { name, email, password }, | ||
credentials: 'include', |
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.
반영했습니다.
useMouseDrag(ref, (S, E) => { | ||
const DRAG_THRESHOLD = 100; | ||
const TAB_COUNT = DefaultChecklistTabsNames.length; | ||
const remainOp = (a: number, b: number) => (((a % b) + b + 1) % b) - 1; // 나머지연산자. -1부터 시작하므로 +1 -1 |
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.
밑에 자세히 작성하였습니다.
const { setCurrentTabId } = useTabContext(); | ||
const ref = useRef<HTMLElement>(null); | ||
useMouseDrag(ref, (S, E) => { | ||
const DRAG_THRESHOLD = 100; |
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.
반영했습니다.
useMouseDrag(ref, (S, E) => { | ||
const DRAG_THRESHOLD = 100; | ||
const TAB_COUNT = DefaultChecklistTabsNames.length; | ||
const remainOp = (a: number, b: number) => (((a % b) + b + 1) % b) - 1; // 나머지연산자. -1부터 시작하므로 +1 -1 | ||
setCurrentTabId(tabId => { | ||
const isLeftDrag = E.x - S.x > DRAG_THRESHOLD; | ||
const isRightDrag = S.x - E.x > DRAG_THRESHOLD; | ||
if (isLeftDrag) return remainOp(tabId - 1, TAB_COUNT); | ||
if (isRightDrag) return remainOp(tabId + 1, TAB_COUNT); | ||
return tabId; |
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.
확인했습니다.
@@ -11,6 +11,7 @@ const MaintenanceFee = () => { | |||
<FormField.Label label="관리비" htmlFor="maintenanceFee" /> | |||
<FormStyled.FieldBox> | |||
<Input | |||
inputMode="decimal" |
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.
👍👍👍
헤일리 리뷰 반영했습니다. 추가로
유틸 분리에 대해
|
@@ -21,6 +22,7 @@ const DepositAndRent = () => { | |||
/> | |||
<FormStyled.FlexLabel label=" / " /> | |||
<FormField.Input | |||
inputMode="decimal" |
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.
이런 속성이 있는지는 처음 알았네요 제이드 덕분에 배우고 갑니다!!
export const TabProvider = ({ children, defaultTab = 0 }: Props) => { | ||
const [currentTabId, setCurrentTabId] = useState<number>(defaultTab); | ||
|
||
return <TabContext.Provider value={{ currentTabId, setCurrentTabId }}>{children}</TabContext.Provider>; | ||
// 드래그로 탭이동을 위한 훅을 리턴에 제공 | ||
const useDragForTab = (dragThreshold: number = DRAG_THRESHOLD_PIXEL) => { |
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.
TabContext에 넣으니까 응집성 있고 좋네요!!👍
❗ Issue
✨ 구현한 기능
📢 논의하고 싶은 내용
🎸 기타