-
Notifications
You must be signed in to change notification settings - Fork 51
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
[윤대호] week15 #542
The head ref may contain hidden characters: "part3-\uC724\uB300\uD638-week15"
[윤대호] week15 #542
Conversation
- 로딩 후 데이터가 존재하는데도 폴더가 비어있다는 문구가 나오는 현상 수정
- sample api로 구현되어 있던 기능들을 실제 api로 변경
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.
잘 작성해주셨습니다.
일부분, 코드에 궁금한 부분들만 코멘트 달아드렸습니다.👍🏻
@@ -39,7 +41,7 @@ const FolderAddBar = ({ folders, isSticky, isHidden }: FolderAddBarProps) => { | |||
<Modal.SelectButtonWrap> | |||
{folders?.map((folder) => ( | |||
<li key={folder.id}> | |||
<ModalSelectButton folderName={folder.name} linkCount={folder.link.count} /> | |||
<ModalSelectButton folderName={folder.name} linkCount={1} /> | |||
</li> |
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.
1로 고정하신 이유가 있으실까요 ?
@@ -4,11 +4,10 @@ import { axiosInstance } from "@/utils/axiosInstance"; | |||
import { useCallback, useEffect } from "react"; | |||
|
|||
export const useGetFolders = () => { | |||
const getFolders = useCallback(() => axiosInstance.get<Folders>("users/1/folders"), []); | |||
const getFolders = useCallback(() => axiosInstance.get<Folders>("folders"), []); | |||
const { execute, loading, error, data } = useAsync<Folders>(getFolders); |
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.
api 호출 함수를 useCallback으로 사용하신 이유가 있으실까요 ?
@@ -19,11 +20,13 @@ export const useGetLinks = (folderId: string) => { | |||
description, | |||
}); | |||
|
|||
const linksData = data?.data?.map(mapDataFormat).map(mapLinksData) ?? []; | |||
const linksData = data?.data?.folder?.map(mapDataFormat).map(mapLinksData); | |||
|
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.
linksData 값이 ?. 옵셔널 값으로 기존에는 ?? [] 값이 존재했는데, 사라진 이유가 있을까요 ?
link?.title?.toLowerCase().includes(searchQuery.toLowerCase()) | ||
) | ||
: links ?? []; | ||
|
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.
filter안에 너무 복잡한 로직으로 작성되어 있는 것 같습니다. 조금더 분리해서 함수로 만든다던가, 코드 가독성을 높일 수 있는 방법이 있는지 고민해보셔도 좋을 것 같습니다
nextUser = res.data.data[0]; | ||
} finally { | ||
setUser(nextUser); | ||
setIsPending(false); |
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.
let nextUser변수를 할당 후 finally에서 setUser하시는 것 보다, await 이후 바로 setUser해주시는 것이 좋을 것 같습니다
요구사항
https://a1b2c3d4zzzzzznextts.vercel.app/user/signin
https://a1b2c3d4zzzzzznextts.vercel.app/folder
https://a1b2c3d4zzzzzznextts.vercel.app/shared/282
기본
[링크 공유 페이지] 링크 공유 페이지의 url path를 ‘/shared’에서 ‘/shared/{folderId}’로 변경했나요?
[링크 공유 페이지] 폴더의 정보는 ‘/api/folders/{folderId}’, 폴더 소유자의 정보는 ‘/api/users/{userId}’를 활용했나요?
[링크 공유 페이지] 링크 공유 페이지에서 폴더의 링크 데이터는 ‘/api/users/{userId}/links?folderId={folderId}’를 사용했나요?
[폴더 페이지] 폴더 페이지에서 유저가 access token이 없는 경우 ‘/signin’페이지로 이동하나요?
[폴더 페이지] 폴더 페이지의 url path가 ‘/folder’일 경우 폴더 목록에서 “전체” 가 선택되어 있고, ‘/folder/{folderId}’일 경우 폴더 목록에서 {folderId} 에 해당하는 폴더가 선택되어 있고 폴더에 있는 링크들을 볼 수 있나요?
[폴더 페이지] 폴더 페이지에서 현재 유저의 폴더 목록 데이터를 받아올 때 ‘/api/folders’를 활용했나요?
[폴더 페이지] 폴더 페이지에서 전체 링크 데이터를 받아올 때 ‘/api/links’, 특정 폴더의 링크를 받아올 때 ‘/api/links?folderId=1’를 활용했나요?
[상단 네비게이션] 유효한 access token이 있는 경우 ‘/api/users’로 현재 로그인한 유저 정보를 받아 상단 네비게이션 유저 프로필을 보여주나요?
심화
주요 변경사항
스크린샷
로그인 X - shared 페이지
로그인 O - folder 페이지
멘토에게