React-02初学hello_react(JSX,创建React根节点,引入对应React库,render渲染DOM)

1.React JSX

React使用JSX来代替常规的js,JSX用来声明React当中的元素,JSX是js的语法扩展。

javascript 复制代码
const element = <h1>Hello, world!</h1>;

2.React基础demo

2.1 创建React根节点

如果要将元素渲染到DOM中比如将上h1元素渲染到DOM中,创建定义根节点,React一般只定义一个根节点,根节点中的内容由React DOM来进行管理。

html 复制代码
 <!-- 容器 -->
 <div id="test"></div>
2.2 引入对应React库
javascript 复制代码
    <!-- {/* // 引入 React核心库 */} -->
    <script src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
    <!-- {/* // 引入 react-dom 用于支持 react 操作 DOM */} -->
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
    <!-- {/* // 引入 babel:1. ES6 ==> ES5 2. jsx ==> js */} -->
    <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
2.3 引入JSX语法创建虚拟DOM并渲染

React元素是构建React应用的最小单元,React元素是不可变对象,一旦创建就不能更改。

ReactDOM.render 方法将 element 渲染到之前创建的根节点中。

javascript 复制代码
 <script type="text/babel">
        // 1. 创建虚拟 DOM
        const VDOM = <h1>Hello,React</h1>
        // 2. 渲染虚拟DOM到页面
        ReactDOM.render(VDOM,document.getElementById('test'))
 </script>
2.4 整体代码
html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Hello,React</title>
</head>

<body>
    <!-- 容器 -->
    <div id="test"></div>

    <!-- {/* // 引入 React核心库 */} -->
    <script src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
    <!-- {/* // 引入 react-dom 用于支持 react 操作 DOM */} -->
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
    <!-- {/* // 引入 babel:1. ES6 ==> ES5 2. jsx ==> js */} -->
    <script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
    <!-- {/* // 引入 JSX 语法 */} -->
    <script type="text/babel">
        // 1. 创建虚拟 DOM
        const VDOM = <h1>Hello,React</h1>
        // 2. 渲染虚拟DOM到页面
        ReactDOM.render(VDOM,document.getElementById('test'))
    </script>
</body>

</html>
相关推荐
东方小月7 分钟前
Claude Code Skill 完全指南:一个 markdown 文件,就是一个专家分身
前端·后端
DianSan_ERP22 分钟前
抖店订单接口中消费者信息加密解密机制与安全履约全解析
前端·网络·数据库·后端·安全·团队开发·运维开发
PBitW32 分钟前
一个skill,让项目管理和写绩效变得简单!
前端·trae
Dxy123931021639 分钟前
CSS中的filter属性详解
前端·css
Vincent_czr1 小时前
iOS中常常遇到后端返回JSON出现null值问题
前端
问心无愧05131 小时前
ctf show web入门90
前端·笔记
yingyima1 小时前
午夜惊魂:用 Shell 脚本和 Hey Cron 解决服务器定时报警
前端
青山Coding1 小时前
Cesium应用(五):通视分析,解锁三维场景的”无遮挡“视野
前端·cesium
骑自行车的码农1 小时前
react hooks原理:为什么不能在条件中使用 hook ?
vue.js·react.js
JavaAgent架构师1 小时前
前端AI工程化(三):异步编程与并发控制
前端·人工智能