W
e
l
c
o
m
e
: )

react将函数组件转换成 class 组件;class 组件中添加局部的 state

转换五步:

  1. 创建一个同名的 class (es6),并且继承于 React.Component;
  2. 添加一个空的 render() 方法;
  3. 将函数体移动到 render() 方法中;
  4. 在 render() 方法中使用 this.props 替换props;
  5. 删除剩余的空函数声明;

 

添加三步:

  把 render() 方法中的 this.props.data 替换成 this.state.date

  添加一个 class 构造函数 constructor,然后在该函数中为 this.state 赋初值;

  移出组件元素中的属性;

 

 

 

 class 是es6提供的一种“语法糖”,优雅且更像面向对象的编程。

 constructor() 是类的构造方法。是个默认方法,new命令创建对象实例时自动调用。

 一个类必有 constructor() ,即使你没有添加构造函数,也会有一个默认的构造函数的。

constructor若无特定指定下返回全新的对象,一般返回实例对象 this。

super 关键字,有当函数、对象两种使用。

  函数:

     

 

     必须调用 super 方法,因子类B无自己的 this 对象,需继承父类A的 this 对象进行加工。super 代表父类A的构造函数,但返回的是子类B的实例,所以 super 内部 this 指向B。

  对象:

    普通方法:指向父类的原型对象;静态方法:指向父类

 

  关于 setState() 三件事:

    不要直接修改State;

    State 的更新可能是异步的;

    State 的更新会被合并;

 

 

 

 

 

  

posted @ 2021-03-29 16:40  口木秋子  阅读(634)  评论(0编辑  收藏  举报