React入门之React_使用es5和es6语法渲染和添加class

news/2024/7/15 18:24:55 标签: react.js, 前端, 前端框架

React入门

//react的核心库
<script src="https://cdn.jsdelivr.net/npm/react@17/umd/react.development.js"></script>
//react操作dom的核心库,类似于jquery
<script src="https://cdn.jsdelivr.net/npm/react-dom@17/umd/react-dom.development.js"></script>
//用来解析es6语法
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>

es5 写法

基础语法

 必须要有根元素进行包裹

//创建元素

var element = React.createElement('li',{},'hello')  //节点,节点属性,标签内容

//var element = React.createElement('li',null,'hello') 

//渲染元素

ReactDOM.render(element,document.getElementById('root1'))

//床架年组建,使用extends继承

React.component

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!-- 
        react渲染三步走
        1.定义一个容器用于存放虚拟dom
        2.创建虚拟dom元素
        3.把虚拟dom元素渲染到页面上
     -->
     <div id="root1"></div>
</body>
<script src="https://cdn.jsdelivr.net/npm/react@17/umd/react.development.js"></script>
<script src="https://cdn.jsdelivr.net/npm/react-dom@17/umd/react-dom.development.js"></script>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script>
    //es5方法创建
    //创建元素
    var element = React.createElement('li',{},'hello')
    //渲染元素
    ReactDOM.render(element,document.getElementById('root1'))
//
</script>
</html>

 多层嵌套的关系

注意如果在react中添加类名不能写class要写className,同时不能再同一个容器里渲染多个虚拟dom,必须要有根元素进行包裹 

//如果有多层嵌套的关系

var li1 = React.createElement('li',null,'11111')

var li2 = React.createElement('li',{class:'list-li'},'22222')

var _ul = React.createElement('ul',{id:'list'},li1,li2)

ReactDOM.render(_ul,document.getElementById('root2'))

es6写法 

注意在使用es6语法时候script必须表明type为text/balel

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
     <div id="root1"></div>
     <script type="text/babel">
         //es6方法创建,
         ReactDOM.render(
             <ul>
                 <li className='lili'>111</li>
                 <li>222</li>
             </ul> ,
             document.getElementById('root1')
         )
     </script>
     <div id="root2"></div>
     <script type="text/babel">
        //es6方法创建,jsx简单写法
        let root2=document.getElementById('root2')
       let div= <div className='hello'>
                <h1>hello react</h1>
            </div>
        ReactDOM.render(div,root2)
    </script>
</body>
<script src="https://cdn.jsdelivr.net/npm/react@17/umd/react.development.js"></script>
<script src="https://cdn.jsdelivr.net/npm/react-dom@17/umd/react-dom.development.js"></script>
<!-- 用于解析babel -->
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
</html>


http://www.niftyadmin.cn/n/5400214.html

相关文章

crc16计算

crc16计算&#xff0c;以生成式G(x)x16x15x21,为例 1、函数如下&#xff1a; //crc&#xff1a;G(x) x16x15x21 #define POLY 0x8005 //对应的生成式的多项式&#xff0c;可以查&#xff08;在在线计算crc工具下查&#xff09; unsigned short crc16_2(unsigned char *da…

模拟算法题练习(二)(DNA序列修正、无尽的石头)

&#xff08;一、DNA序列修正&#xff09; 问题描述 在生物学中&#xff0c;DNA序列的相似性常被用来研究物种间的亲缘关系。现在我们有两条 DNA序列&#xff0c;每条序列由 A、C、G、T 四种字符组成&#xff0c;长度相同。但是现在我们记录的 DNA序列存在错误&#xff0c;为了…

textbox跨线程写入

实现实例1 实现效果 跨线程实现 // 委托&#xff0c;用于定义在UI线程上执行的方法签名 //public delegate void SetTextCallback(string text);public void textBoxText(string text){// 检查调用线程是否是创建控件的线程 if (textBox1.InvokeRequired){// 如果不是&#…

【QT+QGIS跨平台编译】之五十五:【QGIS_CORE跨平台编译】—【qgsmeshcalcparser.cpp生成】

文章目录 一、Bison二、生成来源三、构建过程一、Bison GNU Bison 是一个通用的解析器生成器,它可以将注释的无上下文语法转换为使用 LALR (1) 解析表的确定性 LR 或广义 LR (GLR) 解析器。Bison 还可以生成 IELR (1) 或规范 LR (1) 解析表。一旦您熟练使用 Bison,您可以使用…

组合型枚举算法(Java实现)

排列组合是大家都接触过的概念&#xff0c;而组合型枚举则是在 n 个元素中随机选出 m 个元素的问题。对于每一种可能的选择方案&#xff0c;我们需要确定选择了哪 m 个元素&#xff0c;这就是组合型枚举。具体而言&#xff0c;组合型枚举解决的是 C(n,m)问题&#xff0c;即从…

算法项目外包的收费方式

针对算法研究性项目的收费方式和注意事项&#xff0c;这取决于项目的具体性质、规模和所涉及的技术领域。以下是一些常见的收费方式和需要注意的问题&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 收…

Docker技术概论(3):Docker 中的基本概念

Docker技术概论&#xff08;3&#xff09; Docker 中的基本概念 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at: https://jclee95.blog.csdn.netMy WebSite&#xff1a;http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://…

2.2_2 进程调度的时机、切换与过程、调度方式

文章目录 2.2_2 进程调度的时机、切换与过程、调度方式&#xff08;一&#xff09;进程调度的时机&#xff08;二&#xff09;进程调度的方式&#xff08;三&#xff09;进程的切换与过程 总结 2.2_2 进程调度的时机、切换与过程、调度方式 &#xff08;一&#xff09;进程调度…