#TIL_21.11.17

ISOJ·2021년 11월 17일
0

Today I Learned

목록 보기
42/43
post-thumbnail

D3 데이터 조인

데이터 조인이란?

  • 데이터를 무언가와 결합하는 것
  • DOM element 를 대상으로 만든 Selection 에 Data 를 결합시키는 것
  • 활용 측면에서 enter, update, exit 의 세가지의 데이터 조인이 있다.
    enter: 새로운 데이터가 추가될 때, selection 에 해당 데이터를 바인딩하는 신규 요소에 대한 동작
    update: 기존에 존재하고 있는 요소에 대한 업데이트 동작
    exit: 더이상 유효하지 않거나, 필요가 없는 기존 요소들을 처리하는 동작

selection.join

  • 신규 요소를 추가하거나, 필요없는 기존 요소를 제거, 신규요소 + 유효한 기존 요소를 정렬하여 반환하는 기본 동작을 가진다.
  • selection.join(enter[, update][, exit])
    cf) selection.data(data[, key]) ... 데이터를 바인딩
  • 데이터마다 변해야하는 속성에 대해서는 익명 함수를 사용해야 한다.

Key 함수

  • D3 가 데이터의 각 항목을 각각의 selection 에 join 하는 과정에서 어떤 데이터 포인트를 어떤 selection 에 join 할지 요소를 직접 지정하지 않아도 자동으로 지정된다.
    D3 가 임의로 배열 순서대로 selection 과 data 를 mapping 시켜놓았기 때문
    이를 key 함수를 통해 직접 지정할 수 있다.
  • key 함수
    selection 에 data 를 결합하는 방법을 설명한다.
    key 는 식별자 역할을 하며, selection 의 객체 불변성을 유지하면서 새로운 데이터로 업데이트 할 수 있다.

회고

key 함수에 들어서면서 조금 복잡해짐을 느끼긴 했지만, 다행히 왜 필요한지는 인지하고 있기 때문에 덜 어렵게 느껴지는 것 같았다.
실제로 한번씩 구현해봐야 익숙해질 것 같다!

profile
프론트엔드

0개의 댓글