Skip to content
On this page

类组件

创建一个构造函数(类)

  • 要求必须继承 React.Component/PureComponent 这个类
  • 我们习惯于使用 ES6 中的 class 创建类「因为方便」
  • 必须给当前类设置一个 render 的方法「放在其原型上」:在 render 方法中,返回需要渲染的视图
jsx
import React from "react";
class ClassComponent extends React.Component {
    render() {
        return <div>
            我是类组件
        </div>;
    }
};
export default ClassComponent;
1
2
3
4
5
6
7
8
9

调用类组件

从调用类组件「new Vote({...})」开始,类组件内部发生的事情: 初始化属性 && 规则校验,先规则校验,校验完毕后,再处理属性的其他操作!!

方案一:

javascript
    constructor(props) {
        super(props); // 会把传递进来的属性挂载到 this 实例上
        console.log(this.props); // 获取到传递的属性
    }
1
2
3
4

方案二

即便我们自己不再 constructor 中处理「或者 constructor 都没写」,在 constructor 处理完毕后,React 内部也会把传递的 props 挂载到实例上;所以在其他的函数中,只要保证 this 是实例,就可以基于 this.props 获取传递的属性!

  • 同样 this.props 获取的属性对象也是被冻结的
  • Object.isFrozen(this.props)->true
沪ICP备20006251号-1