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更加方便代码量更少

相关推荐
大怪v8 分钟前
前端:人工智能?我也会啊!来个花活,😎😎😎“自动驾驶”整起!
前端·javascript·算法
遂心_2 小时前
为什么 '1'.toString() 可以调用?深入理解 JavaScript 包装对象机制
前端·javascript
王同学QaQ2 小时前
Vue3对接UE,通过MQTT完成通讯
javascript·vue.js
小仙女喂得猪2 小时前
2025 Android原生开发者角度的React/ReactNative 笔记整理
react native·react.js
程序员鱼皮3 小时前
刚刚 Java 25 炸裂发布!让 Java 再次伟大
java·javascript·计算机·程序员·编程·开发·代码
Asort3 小时前
JavaScript 从零开始(五):运算符和表达式——从零开始掌握算术、比较与逻辑运算
前端·javascript
一枚前端小能手3 小时前
🚀 缓存用错了网站更慢?前端缓存策略的5个致命误区
前端·javascript
艾小码3 小时前
为什么你的页面会闪烁?useLayoutEffect和useEffect的区别藏在这里!
前端·javascript·react.js
艾小码3 小时前
告别Vue混入的坑!Composition API让我效率翻倍的3个秘密
前端·javascript·vue.js
骑自行车的码农3 小时前
【React用到的一些算法】游标和栈
算法·react.js