1.React JSX
React使用JSX来代替常规的js,JSX用来声明React当中的元素,JSX是js的语法扩展。
const element = <h1>Hello, world!</h1>;
2.React基础demo
2.1 创建React根节点
如果要将元素渲染到DOM中比如将上h1元素渲染到DOM中,创建定义根节点,React一般只定义一个根节点,根节点中的内容由React DOM来进行管理。
<!-- 容器 --><div id="test"></div>
2.2 引入对应React库
<!-- {/* // 引入 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 渲染到之前创建的根节点中。
<script type="text/babel">// 1. 创建虚拟 DOMconst VDOM = <h1>Hello,React</h1>// 2. 渲染虚拟DOM到页面ReactDOM.render(VDOM,document.getElementById('test'))</script>
2.4 整体代码
<!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. 创建虚拟 DOMconst VDOM = <h1>Hello,React</h1>// 2. 渲染虚拟DOM到页面ReactDOM.render(VDOM,document.getElementById('test'))</script>
</body></html>