: 앱 만들기에 유용
const h1 = <h1>Hello world</h1>;
<h1>Hello world</h1>
은 JSX 라고 불린다<h1>Hello world</h1>
const navBar = <nav>I am a nav bar</nav>; // 변수 할당
const myTeam = { // 객체 할당
center: <li>Benzo Walli</li>,
powerForward: <li>Rasha Loa</li>,
smallForward: <li>Tayshaun Dasmoto</li>,
shootingGuard: <li>Colmar Cumberbatch</li>,
pointGuard: <li>Femi Billon</li>
};
my-attribute-name="my-attribute-value";
const panda = <img src='images/panda.jpg'
alt='panda' width='500px' height='500px' />;
<h1>
태그를 <a>
태그로 둥지처럼 감쌀 수 있음
<a href="https://www.example.com"><h1>Click me!</h1></a>
가독성 좋게 쓰면
<a href="https://www.example.com">
<h1>
Click me!
</h1>
</a>
여러 줄로 감싸야 한다면 괄호를 쓸 수 있고
(
<a href="https://www.example.com">
<h1>
Click me!
</h1>
</a>
)
변수처럼 저장해서 함수에 통과시킬수도 있음
const theExample = (
<a href="https://www.example.com">
<h1>
Click me!
</h1>
</a>
);
JSX expression must have exactly one outermost element
.
여러 outer element들을 표현하고 싶을 때: <div></div>
로 감싸기
const paragraphs = (
<div id="i-am-the-outermost-element">
<p>I am a paragraph.</p>
<p>I, too, am a paragraph.</p>
</div>
);
const paragraphs = (
<p>I am a paragraph.</p>
<p>I, too, am a paragraph.</p>
);
ReactDOM : DOM을 처리하는 리액트 관련 메소드가 포함된 javascript라이브러리
ReactDOM.render() : JSX를 렌더링 하는 가장 일반적인 ReactDOM의 메소드. JSX표현식을 사용해 DOM 노드의 해당 트리를 만들고 추가하여 화면에 표시함.
<h1>Hello world</h1>
처럼 JSX 표현식이어야 함document.getElementById('app')
은 id="app"인 태그에 덧붙여라~라는 의미<main id="app"></main>
이 있다면 1)은 2)의 결과와 같은 // 1)
ReactDOM.render(
<h1>Hello world</h2>,
document.getElementById('app')
);
// 2)
<main id="app">
<h1>Render me!</h1>
</main>
ReactDOM.render()
은 변경된 DOM 요소만 업데이트한다
똑같은 줄을 쓰면 2번째로 render는 동작하지 않음
const hello = <h1>Hello world</h1>;
// This will add "Hello world" to the screen:
ReactDOM.render(hello, document.getElementById('app'));
// This won't do anything at all:
ReactDOM.render(hello, document.getElementById('app'));
- javascript 프레임워크의 비효율적인 DOM 업데이트로 인한 속도 저하 문제 해결
- virtual DOM의 조작 시 실제 화면에 그려지지 않아 속도 빠름
- React에서 DOM을 업데이트하는 프로세스:
1. JSX요소 렌더링 시, 전체 virtual DOM을 업데이트
2. virtual DOM의 업데이트 전후 모습을 비교
3. React가 변경된 객체를 파악(=diffing
)
4. 변경된 객체만 실제 DOM에서 업데이트
5. 실제 DOM을 변경 시 화면 변경됨.
출처
👉 코드아카데미