zoukankan      html  css  js  c++  java
  • React---JSX的使用

    一、JSX

    1. 全称:  JavaScript XML
    2. react定义的一种类似于XML的JS扩展语法: JS + XML本质是React.createElement(componentprops, ...children)方法的语法糖
    3. 作用: 用来简化创建虚拟DOM

        1) 写法:var ele = <h1>Hello JSX!</h1>

        2) 注意1:它不是字符串, 也不是HTML/XML标签

        3) 注意2:它最终产生的就是一个JS对象

      4. 标签名任意: HTML标签或其它标签

      5. 标签属性任意: HTML标签属性或其它

      6. 基本语法规则

        1) 遇到 <开头的代码, 以标签的语法解析: html同名标签转换为html同名元素, 其它标签需要特别解析

        2) 遇到以 { 开头的代码,以JS语法解析: 标签中的js表达式必须用{ }包含

      7. babel.js的作用

        1) 浏览器不能直接解析JSX代码, 需要babel转译为纯JS的代码才能运行

        2) 只要用了JSX,都要加上type="text/babel", 声明需要babel来处理

    二、渲染虚拟DOM(元素)

    1. 语法:  ReactDOM.render(virtualDOMcontainerDOM)
    2. 作用: 将虚拟DOM元素渲染到页面中的真实容器DOM中显示
    3. 参数说明

        1) 参数一: 纯js或jsx创建的虚拟dom对象

        2) 参数二: 用来包含虚拟DOM元素的真实dom元素对象(一般是一个div)

    三、JSX练习

    代码(本例子是直接引入react文件实现的):

     1 <script type="text/babel" >
     2         /* 
     3             一定注意区分:【js语句(代码)】与【js表达式】
     4                     1.表达式:一个表达式会产生一个值,可以放在任何一个需要值的地方
     5                         下面这些都是表达式:
     6                             (1). a
     7                             (2). a+b
     8                             (3). demo(1)
     9                             (4). arr.map() 
    10                             (5). function test () {}
    11                     2.语句(代码):
    12                         下面这些都是语句(代码):
    13                             (1).if(){}
    14                             (2).for(){}
    15                             (3).switch(){case:xxxx}
    16      */
    17         //模拟一些数据
    18         const data = ['Angular','React','Vue']
    19         //1.创建虚拟DOM
    20         const VDOM = (
    21             <div>
    22                 <h1>前端js框架列表</h1>
    23                 <ul>
    24                     {
    25                         data.map((item,index)=>{
    26                             return <li key={index}>{item}</li>
    27                         })
    28                     }
    29                 </ul>
    30             </div>
    31         )
    32         //2.渲染虚拟DOM到页面
    33         ReactDOM.render(VDOM,document.getElementById('test'))
    34     </script>

    效果:

     

  • 相关阅读:
    Monogb基本概念及基本操作
    高级查询与索引
    查询、索引和聚合
    更新和删除文档
    数据查询
    数据库和集合的基本操作
    dedecms 文章排列方式
    dedecms flag标签属性
    Iis 日志文件默认路径
    php中的require() 语句的使用方法
  • 原文地址:https://www.cnblogs.com/le220/p/14655471.html
Copyright © 2011-2022 走看看