리액트 스케줄러 - Zustand 튜토리얼
이 튜토리얼은 DHTMLX React Scheduler를 Zustand 저장소에 연결하는 방법을 보여줍니다. 이벤트와 UI 상태(view/date/config)를 Zustan에 보관하고, Scheduler 편집을 data.save를 통해 라우팅하며, 스냅샷 기반 히스토리로 undo/redo를 추가합니다.
노트
전체 소스 코드는 GitHub에서 확인 가능합니다.
전제 조건
- Node.js (권장: LTS)
- React + TypeScript 기초
- Zustand 훅과 셀렉터에 대한 기본 지식. 복습이 필요한 경우 Zustand 문서를 참조하세요: https://zustand.docs.pmnd.rs/
빠른 설정 - 프로젝트 생성
Vite + React + TS 프로젝트 생성:
npm create vite@latest scheduler-zustand-demo -- --template react-ts
cd scheduler-zustand-demo
npm install
Zustand 설치:
npm install zustand
Material UI 설치 (데모 툴바에 사용):
npm install @mui/material @mui/icons-material @emotion/react @emotion/styled
React Scheduler 설치
React Scheduler를 React Scheduler 설치 가이드에 따라 설치합니다.
이 튜토리얼에서는 평 가 패키지를 사용합니다:
npm install @dhtmlx/trial-react-scheduler
또는
yarn add @dhtmlx/trial-react-scheduler
이미 Professional 패키지를 사용하는 경우, 명령과 임포트에서 @dhtmlx/trial-react-scheduler를 @dhx/react-scheduler로 교체하세요.
개발 서버를 실행합니다:
npm run dev
노트
Scheduler가 페이지 전체를 차지하도록 기본 스타일을 제거하고 아래를 추가합니다:
#root {
margin: 0;
padding: 0;
height: 100%;
width: 100%;
}
body {
margin: 0;
}