-
React :: Element Rendering (μ리먼λ λ λλ§)PROGRAMMING/React 2021. 3. 20. 13:27
Element ?
Element λ React μ κ°μ₯ μμ λ¨μλ‘, νλ©΄μ νμν λ΄μ©μ κΈ°μ νλ€.
- λΈλΌμ°μ DOM Element μ λ¬λ¦¬, React Element λ μΌλ° κ°μ²΄μ΄λ€.
- React DOM μ React Element μ μΌμΉνλλ‘ DOM μ μ λ°μ΄νΈνλ€.
- Component μ "κ΅¬μ± μμ"μ΄λ€.
Element μ Component λ λ€λ₯Έ κ°λ μ΄λ€. Component λ λ€μμ μμΈν! - λΆλ³κ°μ²΄μ΄λ€. (μ¦, μμ± μ΄νμ μμ/μμ± λ³κ²½ λΆκ°)
Element μμ±νκΈ°
JSX λ₯Ό μ΄ν΄λ³Ό λ, μ΄λ κ² μμ±ν κ²μ΄ λ°λ‘ element λ₯Ό μμ±ν κ²μ΄λ€.
const element = <h1>Hello, world</h1>;
DOM μ Element λ λλ§νκΈ°
μ΄μ μμ±ν Element λ₯Ό λ λλ§ ν΄λ³΄μ.
Root DOM Node
React λ‘ κ΅¬νλ μ΄ν리μΌμ΄μ μ μΌλ°μ μΌλ‘ νλμ λ£¨νΈ DOM λ Έλκ° μκ³ , κ·Έ λ£¨νΈ DOM λ Έλ μμ λ€μ΄κ°λ λͺ¨λ μ리먼νΈλ₯Ό React DOM μμ κ΄λ¦¬νλ€.
λ§μΌ μ¬λ¬ React μ±μ ν΅ν©νλ € νλ€λ©΄ κ·Έλ§νΌ λ§μ μμ λ 립λ λ£¨νΈ DOM λ Έλκ° μμ μ μλ€.
ReactDOM.render()
React Element λ₯Ό λ£¨νΈ DOM λ Έλμ λ λλ§νλ €λ©΄ ReactDOM.render() λ‘ μ λ¬νλ©΄ λλ€.
const element = <h1>Hello, world</h1>; ReactDOM.render(element, document.getElementById('root'));
λ λλ§ λ μλ¦¬λ¨ΌνΈ μ λ°μ΄νΈνκΈ°
μμ λ§νλ―, React Element λ λΆλ³κ°μ²΄μ΄λ€.
ν μνμ ν νλ μ. μ ν΄μ Έ μλ 'μ₯λ©΄'μ 보μ¬μ£Όλ κ²κ³Ό κ°λ€.
λ°λΌμ κ°μ₯ κ°λ¨ν UI λ₯Ό μ λ°μ΄νΈ (μλ¦¬λ¨ΌνΈ μ λ°μ΄νΈ) νλ λ°©λ²μ λ³κ²½νλ μ¬νμ λν Element λ₯Ό μλ‘ μμ±νκ³ μ΄λ₯Ό ReactDOM.render() μ μ λ¬νλ κ²μ΄λ€.
React 곡μ λ¬Έμμ μκ³ μμ λ₯Ό ν΅ν΄ μ΄ν΄λ³΄λ©΄,
function tick() { const element = ( //ν¨μ νΈμΆ μλ§λ€ element μλ‘ μμ± <div> <h1>Hello, world!</h1> <h2>It is {new Date().toLocaleTimeString()}.</h2> </div> ); ReactDOM.render(element, document.getElementById('root')); //μλ‘ μμ±ν element λ λλ§ } setInterval(tick, 1000);
μ΄λ κ² ν μ μλ€.
λ³κ²½ μ¬νλ§ μ λ°μ΄νΈνκΈ°
μμ μ½λλ§ λ³΄λ©΄ Hello world λΆν° μκ° κΉμ§ λͺ¨λ λ λλ§μ νλ κ²μΈκ°? νλ μλ¬Έμ΄ μκΈΈ μ μμ§λ§,
React λ κΈ°μ‘΄μ DOM κ³Ό λΉκ΅νμ¬ λ³κ²½ μ¬νλ§ μ λ°μ΄νΈνλ€κ³ νμλ€.
κ·Έλ¬λ, κ°λ°μ λꡬλ₯Ό ν΅ν΄ μμ μ½λ μ€νμ 보면 λ± μκ°λ§ λ°λλ€λ κ²μ μ μ μλ€.
μ¦, μ΄μ κ³Ό λ¬λΌμ§λ {new Date().toLocaleTimeString()} λΆλΆλ§ μ λ°μ΄νΈ λλ€λ κ²μ νμΈν μ μλ€.
μ΄κ²μ Element λ₯Ό μ λ°μ΄νΈνλ ν κ°μ§ λ°©λ²μ΄λ€.
μ΄νμ μλͺ μ£ΌκΈ° API , μ‘°κ±΄λΆ λ λλ§μ λ°°μ°λ©° λ λ€μν λ°©λ²μΌλ‘ λ λλ§μ ν΄λ³΄μ.
Ref.
React 곡μ λ¬Έμ ko.reactjs.org/docs/rendering-elements.html
.
'PROGRAMMING > React' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
React :: Hook, useState, useEffect, μ¬μ©μ μ μ Hook (0) 2021.03.31 React :: μλͺ μ£ΌκΈ° (Lifecycle) (0) 2021.03.21 React :: Component, Props, State (0) 2021.03.20 React : JSX (0) 2021.03.20 React :: React μμνκΈ° (0) 2021.03.20