-
Notifications
You must be signed in to change notification settings - Fork 1
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
Style/#273: 공지사항 리스트 UI 변경 #274
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- AnnouncementCategory : 'shool', 'major'와 같이 공지사항 분류 타입을 설정 - AnnouncementType : '일반', '고정' 처럼 확인 가능한 공지사항의 분류 타입을 설정
- 컴포넌트 내부에서 정의한 onClick 메서드 대신, 유틸 함수 openLink 함수 사용 - 경계선을 표현하는 스타일 컴포넌트 이름 변경 -> Vertical, Horizon 으로 종류를 구분
- prop으로 받는 type은 normal, pinned, search 셋 중 하나이며 type에 따라 다른 데이터를 사용해 렌더링 하도록 함 - search 같은 경우는 검색, 검색 결과를 확인, 검색 결과를 렌더링등 로직이 많기 때문에 AnnounceSearchList 컴포넌트를 추가로 구현
- 전공 컨텍스트에서 전공과 관련되어 있는 졸업요건 링크도 책임을 져야 한다고 판단
- TITLE: 공지사항 제목 - CATEGORY: 공지사항 분류, 어학 취업정보가 추가될 경우 여기에 추가할 수 있도록 함 - TYPE: API를 통해 가져온 공지사항을 분류
- 아직 상수로 빼지 못한 path들은 이 후 작업에서 빼도록 함
- announcement/<category>/<type> 에 따라서 컴포넌트를 렌더링 하도록 함
- title : 공지사항 제목을 표현 ex) 학교 공지사항 - category : 공지사항 분류를 표현 ex) announcement/school -> 학교 공지사항 - endPoint : 공지사항을 가져오기 위한 api endPoint를 표현 - 이 3가지 props만 전달하면 검색, 일반 & 공지 필터링, 공지사항 리스트 렌더링을 책임지는 컴포넌트를 렌더링 할 수 있음
- InformCardList: 공지사항 관련 카드 컴포넌트를 추상화 - 홈페이지 컴포넌트에서 담당하던 graduationLink의 상태 관리를 MajorPovider로 이전
✅관심사 분리에 집중하여 코드가 많이 리팩토링 된거 같아요! 해당 PR 이 제 이슈와도 관련된 PR 이라 approve 가 안되네요 ㅎㅎ |
hwinkr
approved these changes
Nov 17, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤠 개요
💫 설명
일반, 고정 공지사항 구분 예시
/announcement/school/normal
/announcement/school/pinned
검색 공지사항 예시
/announcement/school/search?q=프로그래밍
검색을 하면 url이 변경되고 컴포넌트가 리렌더링 되어서 api 호출 하는 코드도 한번 더 실행되는 문제가 있었어요. 이미 가져온 데이터에 검색 키워드가 있는지 확인하는데, url을 변경하다보니 불필요한 api 호출을 하기 때문에
useMemo
를 활용해서 컴포넌트가 처음 렌더링 될 때만 api 호출을 하도록 했어요📷 스크린샷 (Optional)
변겅 전
변경 후