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>
相关推荐
梅梅绵绵冰5 分钟前
SpringMVC快速入门
前端
kirkWang6 分钟前
HarmonyOS 6.0 服务卡片实战:把「轻食刻」装进桌面,让轻断食一眼可控
前端
1024小神8 分钟前
VNBarcodeObservation的结果中observation.boundingBox 是什么类型?
前端
xun_xing13 分钟前
Javascript的Iterator和Generator
前端·javascript
秃了才能变得更强14 分钟前
React Native 新、旧架构集成原生模块方式
前端
1024小神17 分钟前
swift中VNDetectBarcodesRequest VNImageRequestHandler 是什么?有什么作用?VN是什么意思
前端
加个鸡腿儿19 分钟前
React项目实战 | 修复Table可展开行,点击一个全部展开
前端·react.js·编程语言
在泡泡里21 分钟前
前端规范【五】biomejs自动化工具-ultracite
前端
_野猪佩奇_牛马版21 分钟前
node/py实现 qwen多轮对话
前端
残冬醉离殇23 分钟前
函数柯里化(curry)是什么?🤔
前端·javascript