diffTrees 함수의 알고리즘 생각하다보니… 일단 새롭게 리렌더링 될때 만들어지는 VDOM을 생성해 놓고, 그 다음에 비교를 해야 하는데…?

전체 흐름 구상

flowchart TD
  
  old1 --> old2
  old1 --> old3
  old3 --> old4
  old3 --> old5
  
   new1 --> new2
   new1 --> new3
   new3 --> new4
   new3 --> new5

최선의 방법은 reRender 가 실행되는 순간에 각각의 Node에 접근해서 생성을 하는데 각 Node에 진입하는 순간에!!! (type 이 함수일 경우 함수를 호출 하기 전에!!)

image.png

위의 함수를 만들고 흐름대로 구현을 완료했다면 이제는 올바르게 ‘가상 돔’을 만들 수 있다.

위의 작업의 전체 흐름은 다음과 같다.

image.png

우선은 첫번째 작업부터 진행 해보겠다.