react学习——02虚拟dom创建的两种方式

1、使用jsx创建虚拟DOM

javascript 复制代码
const vdom = <h1 id="title" className="red"><span>helloReact</span></h1> /*此处一定不要写引号*/
javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
<!--    移动端适配-->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>1_使用jsx创建虚拟DOM</title>
</head>
<body>
<!--准备一个容器-->
<div id="root"></div>
<!--引入react核心库-->
<script type="text/javascript" src="../js/react.development.js"></script>
<!--引入react-dom.js库,用于支持react操作DOM-->
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<!--引入babel,用于jsx的转换jsx-->
<script type="text/javascript" src="../js/babel.min.js"></script>
<script type="text/babel">/*此处一定要写babel*/
    //1.创建虚拟DOM
    const vdom = <h1 id="title" className="red"><span>helloReact</span></h1> /*此处一定不要写引号*/
    //2.渲染虚拟DOM到页面
    ReactDOM.render(vdom,document.getElementById('root'))
</script>
</body>
</html>

2、使用js创建虚拟DOM

javascript 复制代码
const vdom = React.createElement('h1',{id:'title',className:'red'},React.createElement('span',{},'hello,react'))
javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
<!--    移动端适配-->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2_使用js创建虚拟DOM</title>
</head>
<body>
<!--准备一个容器-->
<div id="root"></div>
<!--引入react核心库-->
<script type="text/javascript" src="../js/react.development.js"></script>
<!--引入react-dom.js库,用于支持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',className:'red'},React.createElement('span',{},'hello,react'))
    //2.渲染虚拟DOM到页面
    ReactDOM.render(vdom,document.getElementById('root'))
</script>
</body>
</html>

jsx创建虚拟DOM更加方便代码量更少

相关推荐
天平35 分钟前
油猴脚本创建webworker踩坑记录
前端·javascript·typescript
山河木马7 小时前
渲染管线-计算得到gl_Position(顶点着色器)之后续GPU流程
javascript·webgl·图形学
竹林8187 小时前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
kyriewen10 小时前
别再每次都 Google 了:我整理了前端日常最常踩的 10 个 Git 坑,附速查表
前端·javascript·git
SmartBoyW11 小时前
深入ECMAScript规范:彻底搞懂JS隐式类型转换与底层ToPrimitive机制
前端·javascript
光影少年11 小时前
react navite 跨端核心原理
前端·react native·react.js
用户8524950718411 小时前
解密 JavaScript 中的 this:谁才是真正的调用者?
javascript·面试
Heo11 小时前
Vite进阶用法详解
前端·javascript·面试
铁皮饭盒13 小时前
Next.js 风格路由内置?Bun FileSystemRouter 凭啥这么香
javascript
小林ixn14 小时前
别再背八股了!从 5 个真实场景彻底搞懂 JavaScript 的 this
javascript