카테고리 없음
리액트에서 Chart.js'만' 사용하기 (useRef)
hyuckkim
2024. 3. 5. 22:24
물론 리액트용 라이브러리인 react-chartjs-2가 있다!
있는데 모르고 있었으니까. 알았으면 그냥 react-chartjs-2 썼을 거다.
이럴 때 쓰라고 useRef가 있다.
import { ElementRef, useEffect, useRef } from "react";
import Chart from "chart.js/auto";
const PieChart = () => {
const chartRef = useRef<ElementRef<"canvas">>(null);
useEffect(() => {
const ctx = chartRef.current;
if (ctx === null) return;
const chart = new Chart(ctx, {
...
});
return () => {
chart.destroy();
}
}, [chartRef]);
return <canvas ref={chartRef} />
}
(타입스크립트)
리액트에서 Element에 대한 직접 참조를 할 때는 꼭 ref를 쓰자.
코드가 작동이 이상하게 돼서 어떻게 짜놨나 봤더니 document.querySelector 써서 이렇게 저렇게..