2021년 2월 5일 금요일

React DOM 객체 접근방법 : useRef

React (jsx) DOM 객체에 접근방법 정리


useRef 사용하여 ref 변수 선언

const chartRef = useRef();

DOM 객체에 ref attribute로 전달

<LineChart options={options} data={data} ref={chartRef} />

아래 코드로 객체 접근

chartRef.current.getInstance()


const Contents = () => {
    ...
const chartRef = useRef();

const [options, setOptions] = useState({
chart: {
width: 500,
height: 400,
title: ''
},
tooltip: {
formatter: (value) => `${value}건`
}
});
const [data, setData] = useState();

const inquiryChartData = async () => {
try {
let chatDataVal = await api.inquiryChartData();
setData(chatDataVal.data);
setOptions(chatDataVal.options);

chartRef.current.getInstance().resize({
height: chatDataVal.options.chart.height,
width: chatDataVal.options.chart.width
});
} catch (err) {
console.log(err);
}
};

useEffect(() => {
inquiryChartData();
}, []);

return (
<div className="row">
<div className="col-xs-12">
<div className="cont">
<LineChart options={options} data={data} ref={chartRef} />
</div>
</div>
</div>
);
}

export default AdminContents;

관련 사이트 및 블로그