바닐라로 상태 기반 렌더링 컴포넌트 만들기 2 - 상태 기반 렌더링은 어떻게 하는걸까?

이 시리즈의 이전 글은 아래로...

상태 기반 렌더링은 "어떻게" 할 수 있을까요? 🤔

  • HTML을 먼저 만들어두지 않고, 자바스크립트를 이용해서 렌더링 (SPA 구조의 CSR 방식)
  • 하나의 html로 화면을 그리기 때문에 컴포넌트들은 라이프 사이클을 가지게 됩니다.
  • 각자 상태(state)를 기반으로 렌더링
  • 상태(state)의 흐름은 Flux 패턴을 따릅니다!

TIP) 간단하게 알아보는 용어

  • SPA (Single Page Application): 하나의 html만을 이용하여 렌더링하는 패러다임
  • CSR (Client Side Rendering): 브라우저에서 자바스크립트를 이용하여 렌더링을 하는 렌더링 방식
  • Flux 패턴: 한 방향의 데이터 흐름을 갖는 디자인 패턴 (상위 -> 하위)

자바스크립트로 렌더링할 때 주의사항 🚨

// index.js

const divEl = document.createElement('div');

위와 같이 자바스크립트에서 Element를 만들기만 하면 우리 브라우저는 이 Element의 존재를 모른다..!
html 태그 안에 넣어주지 않으면 그저 메모리 속에 저장되어 있다가 사라질뿐...!

// index.html

<div id="App"></div>
// index.js

const appEl = document.querySelector('#app');

// 1. 만들기
const divEl = document.createElement('div');
// 2. 화면에 표시할 수 있게 넣어주기
appEl.appendChild(divEl)

자바스크립트로 열심히 그려준 Element는 html 태그로 넣어주어야지만 실제로 화면에 보여지게 된다!

JavaScript로 상태기반 렌더링 구현해보기 😊