React学习第2天——hello_React虚拟DOM和真实DOM
一定要先后引入三个js
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>hello_react</title> 6 </head> 7 <body> 8 <!-- 准备好一个“容器” --> 9 <div id="test"></div> 10 11 <!-- 引入react核心库 --> 12 <script type="text/javascript" src="../js/react.development.js"></script> 13 <!-- 引入react-dom,用于支持react操作DOM --> 14 <script type="text/javascript" src="../js/react-dom.development.js"></script> 15 <!-- 引入babel,用于将jsx转为js --> 16 <script type="text/javascript" src="../js/babel.min.js"></script> 17 18 <script type="text/babel" > /* 此处一定要写babel */ 19 //1.创建虚拟DOM 20 const VDOM = <h1>Hello,React</h1> /* 此处一定不要写引号,因为不是字符串 */ 21 //2.渲染虚拟DOM到页面 22 ReactDOM.render(VDOM,document.getElementById('test')) 23 </script> 24 </body> 25 </html>
18行注意是babel
虚拟DOM的两种创建方式
- 使用JSX创建虚拟DOM
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 </head> 7 <body> 8 <script src="../js/react.development.js"></script> 9 <script src="../js/react-dom.development.js"></script> 10 <script src="../js/babel.min.js"></script> 11 <div id="test"></div> 12 13 <script type="text/babel"> 14 const VDOM = <h1 id="title"><span>hello React</span></h1> 15 ReactDOM.render(VDOM,document.getElementById('test')) 16 </script> 17 </body> 18 </html>
- 使用JS创建虚拟DOM
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>2_使用js创建虚拟DOM</title> </head> <body> <!-- 准备好一个“容器” --> <div id="test"></div> <!-- 引入react核心库 --> <script type="text/javascript" src="../js/react.development.js"></script> <!-- 引入react-dom,用于支持react操作DOM --> <script type="text/javascript" src="../js/react-dom.development.js"></script> <script type="text/javascript" > //1.创建虚拟DOM const VDOM = React.createElement('h1',{id:'title'},React.createElement('span',{},'Hello,React')) //2.渲染虚拟DOM到页面 ReactDOM.render(VDOM,document.getElementById('test')) </script> </body> </html>
bable的作用就是将JSX的写法转换成JS的写法
1 //1.创建虚拟DOM 2 const VDOM = ( /* 此处一定不要写引号,因为不是字符串 */ 3 <h1 id="title"> 4 <span>Hello,React</span> 5 </h1> 6 ) 7 //2.渲染虚拟DOM到页面 8 ReactDOM.render(VDOM,document.getElementById('test')) 9 10 const TDOM = document.getElementById('demo') 11 console.log('虚拟DOM',VDOM); 12 console.log('真实DOM',TDOM);
关于虚拟DOM:
1.本质是Object类型的对象(一般对象)
2.虚拟DOM比较“轻”(属性少),真实DOM比较“重”(属性多),因为虚拟DOM是React内部在用,无需真实DOM上那么多的属性。
3.虚拟DOM最终会被React转化为真实DOM,呈现在页面上。

浙公网安备 33010602011771号