리팩토링한 템플릿 컴포넌트 클래스로 기존 작업을 전환했다
기존에는 이벤트로 변경된 부분만 돔에 접근해 속성을 바꿔주었는데,
컴포넌트 디자인 패턴으로 프로젝트를 진행할거라면 상태에 의존해 리렌더링을 하도록 구현하는게 맞다는 생각이 들었다. 가상돔이 없으면 효율이 매우 떨어지지만.. 나중에 가상돔도 구현해봐야겠다
부모 컴포넌트에 이벤트를 걸고 해당 자식 컴포넌트가 처음 렌더링할 때만 이벤트가 걸리도록 구현했다
부모의 상태가 변하면 자식 컴포넌트가 새로 생성되기 때문에 페이지단에서 상태를 사용하는 경우에는 별로 크게 효율성이 증가하진 않지만.. 자신의 상태가 변할 때마다 이벤트가 걸리는 것보단 나은 것 같다
부모의 상태를 받지 않는 자식 컴포넌트는 처음 한번만 생성되도록하는 방법을 찾아야 할 것 같다
또 라우터를 구현하는게 생각보다 어려웠다. 페이지가 바뀔 때마다 app컴포넌트를 실행시켜야할 것 같은데 아직 방법을 모르겠어서 서치를 많이 해봐야할 것 같다