날짜 : 2017. 12. 07.(목)
React프로젝트에서 D3를 사용하기 (D3 with React)
1. 생각하게 된 동기
- 프로젝트를 React를 진행하고 있는데, 챠트를 사용해야 한다.
- React의 어느 부분에서 선언을 해서 사용해야 하는지 모르겠다.
2. 생각하게 된점
직관적으로 생각해서 시도를 해보고 그것을 바탕으로 개선점을 찾는 것이 더 효율 적이다.
고민만 가지고 실천을 하지 않으면 안된다.
-
React, D3 둘다 DOM조작을 한다.
- component의 render return 전에 D3를 사용해도 정상적으로 작동이 되지 않는다.
- component의 바깥에서 D3를 사용해도 정상적으로 작동이 되지 않는다.
- react에서 D3의 DOM 조작을 수행하지 못하게 하기 때문 이라고 생각(정확하게 동작되는 원리 및 장소를 알지 못하겠다.)
-
D3를 사용하기 위한 방법 몇 가지 (참고 : React에서 D3.js. 사용하는. 방법)
- 외부 라이브러리를 사용하는 방법 (react-d3, react-faux-dom)
- react와 d3만을 가지고서 사용하는 방법
- react에서 모든 돔조작을 한다. (=JSX로 SVG tag를 넣어서 사용한다.)
- D3에서 모든 돔조작을 한다. (최초 1번만 render를 react에서 수행하고 이후에는 d3에서 수행하도록 구성한다.)
- react가 축, 컨테이너, 범례 등 고정부분을 render하고 D3가 데이터, 애니메이션 부분을 수행
-
기타
- 라이브러리를 사용하면 제공해주는 예제는 간단하게 수행을 할 수 있다.
- 하지만 종속성을 가지고 있기에 버젼업에 되어감에 따라 빠른 대응을 해줄수 있는지가 이슈로 남아있다.
- 그래서 라이브러리를 사용하기 보다는 기존 모듈만을 가지고 사용할 수 있는 방법을 생각해 보았다. (실제 github의 star가 적기도 하였다.)
- 그리고 react에서 d3를 사용하는 것은 시기 상조 일지도 모르겠다는 생각이 든다.(최근 좋은 평가를 받고있는 프레임워크 전체의 공통적인 문제 일지도 모르겠다.)
'개발일지' 카테고리의 다른 글
React프로젝트에서 D3를 사용하기 (3) (기초부터 다시...) (0) | 2017.12.08 |
---|---|
React프로젝트에서 D3를 사용하기 (2) (사용후기) (0) | 2017.12.08 |
진행하고 있는 프로젝트에 대한 생각 (11월 4주 주간피드백) (0) | 2017.12.02 |
D3의 늪에 빠지다. (D3 개발 Tip) (0) | 2017.12.01 |
D3는 그림 위에 그림을 그린다. (0) | 2017.11.29 |