왼쪽상단의 기능을 추가할것.
자식문서를 클릭하면 조상까지 위치렌더링하는 부분을 추가해보겠다.
사이드바에서 사용한 재귀적 렌더링을 활용해보면 좋아보임.
=> 재귀적 렌더링을 공통함수로 뽑아낼수 있다.
하지만 클래스 내부 렌더메서드 안에있어서 조금 어려워보인다.
일단 따로 진행하고 생각해보자 ㅋㅋ
문서의 구조는 단방향 링크드 리스트다. 부모가 자식문서를 갖고있고 자식은 갖고있지 않다.
양방향 링크드리스트로 개편하면 훨씬 편하게 찾을 수 있을지도 모른다..
=> 기존 요구사항은 자식=>조상이아니라 조상=>자식이었음. 앗...
api를 단방향 링크리스트로 뿌려주신 이유가 있었다.ㅋㅋㅋㅋ
재미삼아 해보겠다.
참고로 정규화도 한번 진행해보려했었는데...상태를 참조하고있는 모든 컴포넌트의 구조를 다시 바꿔야해서 다음에 해보겠음.
문서 데이터 구조는
[{id:number, title:string, documents:array, createAt:string, updatedAt:string}]
이렇게 들어온다. documents
는 문서데이터구조와 똑같이 들어가있음.
이렇게 되어있으면, 문서의 조상까지 찾을때마다 매번 bfs를 돌려야함.
낭비가 아닐수 없는데...그렇다고 데이터 정규화 하자니 컴포넌트를 다 바꿔줘야하고...심란하다...
일단 Editor컴포넌트부터 클래스로 바꾸고 생각해보자!
나머지 컴포넌트들은 완료함. 얘가 문제다. 로직이 얼키설키되어있어 한번에 바꾸기 힘듬.