React基础教程(二):React的基本使用

React基础教程(二):React的基本使用

1、HelloReact

1.1 引入react基础依赖包

注意点:①必须要在②之前引入React基础教程(二):React的基本使用_第1张图片

	<!--    引入react核心库-->
    <script src="../js/react.development.js"></script>
    <!--    引入react-dom,用于支持react操作dom-->
    <script src="../js/react-dom.development.js"></script>
    <!--    引入babel,用于将jsx转为js-->
    <script src="../js/babel.min.js"></script>

1.2 创建容器


<div id="test">

div>

1.3 创建以及渲染虚拟DOM

<!--此处一定要写babel-->
<script type="text/babel">
    // 1、创建虚拟DOM
    const virtualDOM = <h1>Hello World</h1>; /*此处一定不要写引号,因为不是字符串。这是JSX语法*/
    // 2、渲染虚拟DOM
    ReactDOM.render(virtualDOM, document.getElementById("test"));
</script>

1.4 完整代码

这里一定不能写引号"",
错误写法:const virtualDOM = “

Hello World

”;
正确写法:const virtualDOM =

Hello World

;

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Reacttitle>
    
    <script src="../js/react.development.js">script>
    
    <script src="../js/react-dom.development.js">script>
    
    <script src="../js/babel.min.js">script>
head>
<body>

<div id="test">

div>

<script type="text/babel">
    // 1、创建虚拟DOM
    const virtualDOM = <h1>Hello World</h1>; /*此处一定不要写引号,因为不是字符串。这是JSX语法*/
    // 2、渲染虚拟DOM
    ReactDOM.render(virtualDOM, document.getElementById("test"));
script>
body>
html>

1.5 显示效果

React基础教程(二):React的基本使用_第2张图片

2、创建虚拟DOM的两种方式

2.1 使用JSX创建虚拟DOM

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Reacttitle>
    
    <script src="../js/react.development.js">script>
    
    <script src="../js/react-dom.development.js">script>
    
    <script src="../js/babel.min.js">script>
head>
<body>

<div id="test">

div>

<script type="text/babel">
    // 1、创建虚拟DOM
    const virtualDOM = <h1 id={'title'}><span>Hello React</span></h1>; /*此处一定不要写引号,因为不是字符串。这是JSX语法*/
    // 2、渲染虚拟DOM
    ReactDOM.render(virtualDOM, document.getElementById("test"));
script>
body>
html>

2.2 使用JS创建虚拟DOM(一般不用

但是当想用JS实现上述JSX实现的代码的时候,就十分麻烦,因为还要用React.createElement创建一个span标签。这就体现了为什么React用jsx语法书写

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Reacttitle>
    
    <script src="../js/react.development.js">script>
    
    <script src="../js/react-dom.development.js">script>
    
    
head>
<body>

<div id="test">

div>

<script type="text/javascript">
    // 1、创建虚拟DOM
    const virtualDOM = React.createElement('h1', {id: 'title'}, 'Hello React!')
    // 2、渲染虚拟DOM
    ReactDOM.render(virtualDOM, document.getElementById("test"));
script>
body>
html>

所以,纯JS方式一般不用

3、虚拟DOM与真实DOM

本质是Object类型的对象(一般对象)

React基础教程(二):React的基本使用_第3张图片

虚拟DOM比较“轻”,真实DOM比较“重”。因为虚拟DOM是React内部使用,无需真实DOM上那么多属性。(见下图)

React基础教程(二):React的基本使用_第4张图片

虚拟DOM最终会被转化为真实DOM,呈现在页面上。

代码

DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Hello Reacttitle>
    
    <script src="../js/react.development.js">script>
    
    <script src="../js/react-dom.development.js">script>
    
    <script src="../js/babel.min.js">script>
head>
<body>

<div id="test">

div>

<div id="demo">

div>

<script type="text/babel">
    // 1、创建虚拟DOM
    const virtualDOM = (
        <h1 id={'title'}>
            <span>Hello React</span>
        </h1>); /*此处一定不要写引号,因为不是字符串。这是JSX语法*/
    // 2、渲染虚拟DOM
    ReactDOM.render(virtualDOM, document.getElementById("test"));

    console.log("虚拟DOM=", virtualDOM);
    console.log(typeof virtualDOM);
    console.log(virtualDOM instanceof Object);

    const trueDOM = document.getElementById('demo');
    console.log('真实DOM=', trueDOM);

    // debugger;
script>
body>
html>

你可能感兴趣的:(React基础教程,react.js,javascript)