- [ ✓ ] createVNode 함수를 이용하여 vNode를 만든다.
- [ ✓ ] normalizeVNode 함수를 이용하여 vNode를 정규화한다.
- [ ✓ ] createElement 함수를 이용하여 vNode를 실제 DOM으로 만든다.
- [ ✓ ] 결과적으로, JSX를 실제 DOM으로 변환할 수 있도록 만들었다.
- [ ✓ ] 노드를 생성할 때 이벤트를 직접 등록하는게 아니라 이벤트 위임 방식으로 등록해야 한다
- [ ✓ ] 동적으로 추가된 요소에도 이벤트가 정상적으로 작동해야 한다
- 이벤트 핸들러가 제거되면 더 이상 호출되지 않아야 한다
- 초기 렌더링이 올바르게 수행되어야 한다
- diff 알고리즘을 통해 변경된 부분만 업데이트해야 한다
- 새로운 요소를 추가하고 불필요한 요소를 제거해야 한다
- 요소의 속성만 변경되었을 때 요소를 재사용해야 한다
- 요소의 타입이 변경되었을 때 새로운 요소를 생성해야 한다
- 비사용자는 포스트 작성 폼이 보이지 않는다
- 비사용자는 포스트에 좋아요를 클릭할 경우, 경고 메세지가 발생한다.
- 사용자는 포스트 작성 폼이 보인다.
- 사용자는 포스트를 추가할 수 있다.
- 사용자는 포스트에 좋아요를 클릭할 경우, 좋아요가 토글된다.