Rebuild the calendar using React ⚛️
- CMI 팀 스터디 과제 중 3주차에 해당하는 리포지토리입니다.
- 자세한 설명이 담긴 과제 모음집은 링크에서 확인해주세요!
- 2주차에
Valia JS로 만들었던 캘린더를React로 리펙토링하기(1, 2주차 저장소). useContext를 사용한 전역상태관리, 함수형 컴포넌트 사용하기.
/srcindex.js:App컴포넌트 랜더링App.js: 메인 컴포넌트/modulesDateChanger.js: 날짜 변경 로직 모듈GetDateList.js: 캘린더에 표시할 날짜 생성 모듈
/contextDateContext.js: 전역 상태인 년, 월, 일을 정의
/componentsChangeButton.js: 연도, 월 변경 버튼 컴포넌트Container.js: 버튼 및 연도, 월 텍스트의 부모 컴포넌트Controller.js: 연도, 월 컨테이너의 부모 컴포넌트DateFactory.js: 날짜 리스트를 만드는 컴포넌트DateTemplate.js: 날짜 리스트들의 부모 컴포넌트WeekBar.js: 일요일부터 토요일까지를 나타내는 막대
- 3주차 프로젝트를
typescript로 변환하기. - 컴포넌트에서 받는
props타입을interface혹은type으로 정의. - 전역상태관리에
Redux사용.
/srcindex.tsx:App컴포넌트 랜더링 및 글로벌 스타일,Redux store제공App.tsx: 메인 컴포넌트global-styles.ts: 글로벌 스타일 정의/modulesGetDateObj.ts: 캘린더에 표시할 날짜 생성 모듈
- `/reducer의
dateReducer.ts: 날짜 변경reducer정의index.ts:store생성 및redux dev tool연결
/actionsindex.ts: 날짜 변경action함수 정의
/components(styles.ts생략)CalendarFooter: 푸터CalendarHeader: 헤더Controller.js: 연도, 월 표시 및 변경 버튼DateFactory.js: 날짜 리스트를 만드는 컴포넌트DateTemplate.js: 날짜 리스트들의 부모 컴포넌트WeekBar.js: 일요일부터 토요일까지를 나타내는 막대
! NPM이 설치되어 있어야 합니다.
$ git clone https://github.com/soonitoon/cmi-react-calendar$ cd ./cmi-react-calendar$ npm i$ npm start
MTI