• React——定义组件【六】


    前言

    react定义组件,函数式组件,类组件

    内容

    函数式组件

    适用于简单组件的定义

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
    <!--创建"容器"-->
    <div id="test">
    
    </div>
    <!--引入react核心库-->
    <script type="text/javascript" src="../js/react.development.js"></script>
    <!--引入react-dom,用于支持react操作DOM-->
    <script type="text/javascript" src="../js/react-dom.development.js"></script>
    <!--引入babel,用于将jsx转js-->
    <script type="text/javascript" src="../js/babel.min.js"></script>
    <script type="text/babel">/*一定要以text/babel来声明*/
    //1. 创建函数式组件
    function Demo() {
        console.log(this) //此处的this是undefined因为babel开启了严格模式
        return  <h2>函数定义的组件(适用于简单组件的定义)</h2>
    }
    
    //2.渲染组件到页面
    ReactDOM.render(<Demo/>,document.getElementById('test'))
    
    </script>
    </body>
    </html>
    

    此处的this是undefined因为babel开启了严格模式

    ReactDOM.render(,document.getElementById('test'))

    1. react解析组件标签,找到对应组件。
    2. 发现组件是使用函数定义,随后调用该函数,将返回的虚拟DOM转为真实DOM随后呈现在页面。
    

    类式组件

    适用于复杂组件定义

    <!doctype html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
    <!--创建"容器"-->
    <div id="test">
    
    </div>
    <!--引入react核心库-->
    <script type="text/javascript" src="../js/react.development.js"></script>
    <!--引入react-dom,用于支持react操作DOM-->
    <script type="text/javascript" src="../js/react-dom.development.js"></script>
    <!--引入babel,用于将jsx转js-->
    <script type="text/javascript" src="../js/babel.min.js"></script>
    <script type="text/babel">/*一定要以text/babel来声明*/
    class Demo extends React.Component {
        render() {
            console.log(this)
            return (
                <div>
                    用类定义的组件(适用于复杂组件定义)
                </div>
            );
        }
    
    }
    
    ReactDOM.render(<Demo/>,document.getElementById('test'))
    </script>
    </body>
    </html>
    

    此处的this是Demo组件实例对象

    ReactDOM.render(,document.getElementById('test'))

    1. react解析组件标签,找到对应组件。
    2. 发现组件是使用类定义,随后new出来该类的实例,并通过该实例调用到原型上的render方法。
    3. 将render返回的虚拟DOM转为真实DOM,随后呈现在页面上。
    
    学无止境,谦卑而行.
  • 相关阅读:
    Python序列——字符串
    Python序列——序列操作
    Python数字
    Python对象
    Python基础
    关于PATH_INFO SCRIPT_NAME SCRIPT_FILENAME REDIRECT_URL 详解
    转:Nginx配置指令location匹配符优先级和安全问题
    转:mysql 创建一个用户,指定一个数据库
    【洛谷P3384】树链剖分
    【洛谷P1833】樱花
  • 原文地址:https://www.cnblogs.com/wangyang0210/p/14421950.html
Copyright © 2020-2023  润新知