React와의 통합
이 문서를 시작하기 전에 React의 기본 개념을 이해하고 있으면 도움이 됩니다. React를 복습하고 싶다면 React 공식 문서를 참고하세요.
DHTMLX Kanban은 React와 잘 호환됩니다. DHTMLX Kanban을 React 프로젝트에서 사용하는 코드 샘플도 제공됩니다. 자세한 내용은 GitHub 예제를 확인하세요.
프로젝트 생성
표준 React 프로젝트로 시작하거나, React와 Vite를 함께 사용할 수도 있습니다. 본 가이드에서는 프로젝트 명을 my-react-kanban-app으로 설정합니다:
npx create-react-app my-react-kanban-app
의존성 설치
앱 디렉터리로 이동하세요:
cd my-react-kanban-app
의존성을 추가하고 개발 서버를 실행합니다. 원하는 패키지 관리 도구를 사용할 수 있습니다:
- yarn 사용 시:
yarn
yarn start
- npm 사용 시:
npm install
npm run dev
앱은 보통 http://localhost:3000
에서 로컬로 확인할 수 있습니다.
Kanban 생성
이제 DHTMLX Kanban 소스 코드를 가져와야 합니다. 먼저 앱을 중지한 후 Kanban 패키지를 설치하세요.
1단계. 패키지 설치
Kanban 평가판 패키지를 다운로드하고, README 파일의 안내를 따라 설치합니다. 평가판은 30일 동안 사용할 수 있습니다.
2단계. 컴포넌트 생성
React 컴포넌트로 Kanban 보드를 앱에 추가합니다. src/ 디렉터리 안에 Kanban.jsx 파일을 만드세요.
소스 파일 임포트
Kanban.jsx를 열고 Kanban 소스 파일을 임포트합니다. 다음 사항을 참고하세요:
- PRO 버전을 로컬에 설치한 경우, 다음과 같이 임포트합니다:
import { Kanban, Toolbar } from 'dhx-kanban-package';
import 'dhx-kanban-package/dist/kanban.css';
패키지에 따라 CSS 파일이 압축(minified)되어 있을 수 있으니, 이 경우 kanban.min.css를 사용하세요.
- 평가판에서는 다음과 같이 임포트 경로를 사용합니다:
import { Kanban, Toolbar } from '@dhx/trial-kanban';
import "@dhx/trial-kanban/dist/kanban.css";
이 가이드는 평가판 기준으로 설명합니다.
컨테이너 설정 및 Kanban, Toolbar 추가
페이지에 Kanban과 Toolbar를 표시하려면, 각각의 컨테이너를 설정하고 생성자에서 초기화하세요:
import { useEffect, useRef } from "react";
import { Kanban, Toolbar } from '@dhx/trial-kanban';
import '@dhx/trial-kanban/dist/kanban.css'; // Kanban 스타일 포함
export default function KanbanComponent(props) {
let toolbar_container = useRef(); // Toolbar 컨테이너 초기화
let kanban_container = useRef(); // Kanban 컨테이너 초기화
useEffect(() => {
// Kanban 컴포넌트 초기화
const kanban = new Kanban(kanban_container.current, {});
// Toolbar 컴포넌트 초기화
const toolbar = new Toolbar(toolbar_container.current, {
api: kanban.api, // Kanban의 내부 API 제공
// 기타 설정 속성
});
return () => {
kanban.destructor(); // Kanban 소멸자 호출
toolbar.destructor(); // Toolbar 소멸자 호출
};
}, []);
return <div className="component_container">
<div ref={toolbar_container}></div>
<div ref={kanban_container} className="widget"></div>
</div>
}
스타일 추가
Kanban이 올바르게 보이도록, 주요 스타일을 메인 CSS 파일에 추가하세요:
/* 초기 페이지 스타일 지정 */
html,
body,
#root {
height: 100%;
padding: 0;
margin: 0;
}
/* Kanban 및 Toolbar 컨테이너 스타일 */
.component_container {
height: 100%;
margin: 0 auto;
}
/* Kanban 컨테이너 스타일 */
.widget {
height: calc(100% - 56px);
}
데이터 로딩
Kanban에 데이터를 표시하려면 데이터셋이 필요합니다. ***src/***에 data.js 파일을 만들고 다음과 같이 작성하세요:
export function getData() {
const columns = [
{
label: "Backlog",
id: "backlog"
},
{
label: "In progress",
id: "inprogress"
},
// ...
];
const cards = [
{
id: 1,
label: "Integration with Angular/React",
priority: 1,
color: "#65D3B3",
start_date: new Date("01/07/2021"),
users: [3, 2],
column: "backlog",
type: "feature",
},
{
label: "Archive the cards/boards ",
priority: 3,
color: "#58C3FE",
users: [4],
progress: 1,
column: "backlog",
type: "feature",
},
// ...
];
const rows = [
{
label: "Feature",
id: "feature",
},
{
label: "Task",
id: "task",
}
];
return { columns, cards, rows };
}