📌 배포 사이트
![]() 강태훈 |
![]() 김민정 |
![]() 김종이 |
![]() 이상현 |
![]() 이요한 |
![]() 이조은 |
# npm 설치
npm install
# Local Server 실행
npx json-server ./data.json --port 4000
REACT_APP_URL="http://localhost:4000"
# 로컬 실행
npm start
React, TypeScript, Redux, axios, json-server, styled-components
pre-onboarding-8th-4week-6/src/redux/commentSlice.ts
Lines 59 to 88 in ace0e8d
pre-onboarding-8th-4week-6/src/redux/store.ts
Lines 7 to 13 in f7b2751
- 비동기 처리 댓글 CRUD는 Redux createAsyncThunk를 사용해 구현했습니다.
- Redux logger, Redux-Devtools 설정하였습니다.
pre-onboarding-8th-4week-6/src/hooks/usePagenation.tsx
Lines 19 to 25 in f7b2751
pre-onboarding-8th-4week-6/src/components/PageList.tsx
Lines 8 to 21 in f7b2751
- 페이지네이션은 useEffect 내 async await를 사용하여 처리했습니다.
- 총 댓글수를 비동기로 받아와 응답값을 이용해 계산, 한 페이지당 4개씩 게시글을 호출했습니다.
pre-onboarding-8th-4week-6/src/components/Form.tsx
Lines 15 to 26 in f7b2751
pre-onboarding-8th-4week-6/src/hooks/usePagenation.tsx
Lines 13 to 17 in f7b2751
- 댓글 작성하고 난 뒤: 다른 페이지에 위치하고 있었더라도 1페이지로 이동, 입력 폼 초기화
- 댓글 수정하고 난 뒤: 현재 보고있는 페이지 유지, 입력 폼 초기화
- 삭제하고 난 뒤: 1페이지로 이동
- Redux 환경설정은 자유롭게 진행
- Redux-saga or Redux-thunk 자유롭게 선택 가능
- 미들웨어 사용안하는 것도 가능
- Redux logger, Redux-Devtools 설정 필수
- Redux를 이용한 비동기 처리 필수