react组件

  • es6 的class类的继承
<script>
/**
    面向对象中的继承
    es6中的类和类的继承
*/
// 定义一个类 class 类是用来创造一个对象的
class Person {
    // 构造器(用于初始化类的实例) constructor
    constructor(){
        this.mouth='一张';
        this.leg='两条';
    }
    eat(){
        console.log('人类是一个吃货')
    }
    speak(){
        console.log('会说话')
    }
}
// 新建一个Person类的对象   new 的时候构造器就会执行一次
var person = new Person();
console.log(person);

// 继承 extends  
// class 子 extends(继承) 父   子会拥有父的属性和方法

class Man extends Person{
    constructor(name,age){
        // 执行父类构造器 super
        super();
        this.name = name;
        this.age = age;
    }
}

var man = new Man('田雨',20);
// 除了新加的属性,还有父类的属性
console.log(man)

// 继承了父类的方法
man.eat();

</script>
  • 运用es6 class继承
  • 通过继承React.Component类来定义一个组件
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>react组件</title>
    <!-- react框架文件 -->
    <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
    <!-- react用来渲染页面的文件 -->
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
    <!-- 生产环境中不建议使用 -->
    <!-- 用来编译jsx语法的库 -->
    <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
</head>
<body>
    <div id="app">

    </div>
    <script type="text/babel">
        // 定义一个react的组件 继承了React.Component自带的类的属性
        // 子组件
        class Person extends React.Component{
            // props是父组件传过来的属性
            constructor(props){
                console.log(props);
                super(props);
            }

            // 本组件渲染页面的方法(这里相当于vue的template)
            render() {
                return (
                    <h1>
                        <p>姓名:{this.props.name}</p>
                        <p>年龄:{this.props.age}</p>
                    </h1>
                )
            }
        }

        // 父组件
        ReactDOM.render(
            // 模板
            <div>
                <p>下面是子组件的内容</p>
                <hr/>
                <Person name="你妹" age="38"/>
            </div>,
            document.querySelector('#app')
        )
    </script>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容