Hello React
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 
 | <!-- 准备好一个“容器” --><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>
 <!-- 引入babel,用于将jsx转为js -->
 <script type="text/javascript" src="../js/babel.min.js"></script>
 
 <script type="text/babel" >
 
 const VDOM = <h1>Hello,React</h1>
 
 ReactDOM.render(VDOM,document.getElementById('test'))
 </script>
 
 | 
关于虚拟DOM:
          1.本质是Object类型的对象(一般对象)
          2.虚拟DOM比较“轻”,真实DOM比较“重”,因为虚拟DOM是React内部在用,无需真实DOM上那么多的属性。
          3.虚拟DOM最终会被React转化为真实DOM,呈现在页面上。
虚拟DOM的两种创建方式
| 12
 3
 4
 5
 6
 7
 8
 
 | const VDOM = (
 <h1 id="title">
 <span>Hello,React</span>
 </h1>
 )
 
 ReactDOM.render(VDOM,document.getElementById('test'))
 
 | 
| 12
 3
 4
 
 | const VDOM = React.createElement('h1',{id:'title'},React.createElement('span',{},'Hello,React'))
 
 ReactDOM.render(VDOM,document.getElementById('test'))
 
 | 
jsx语法规则:
            
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 
 | 1.定义虚拟DOM时,不要写引号。
             2.标签中混入JS表达式时要用{}。
 
             3.样式的类名指定不要用class,要用className。
 
             4.内联样式,要用style={{key:value}}的形式去写。
 
             5.只有一个根标签
 
             6.标签必须闭合
 
             7.标签首字母
 
                 (1).若小写字母开头,则将该标签转为html中同名元素,若html中无该标签对应的同名元素,则报错。
 
                 (2).若大写字母开头,react就去渲染对应的组件,若组件没有定义,则报错。
 
 | 
js语句和js表达式的区别
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 
 | 一定注意区分:【js语句(代码)】与【js表达式】
           1.表达式:一个表达式会产生一个值,可以放在任何一个需要值的地方
 
                 下面这些都是表达式:
 
                     (1). a
 
                     (2). a+b
 
                     (3). demo(1)
 
                     (4). arr.map()
 
                     (5). function test () {}
 
           2.语句(代码):
 
                 下面这些都是语句(代码):
 
                     (1).if(){}
 
                     (2).for(){}
 
                     (3).switch(){case:xxxx}
 
 |