this 指向
箭头函数里的 this 指向声明函数的地方,也就是组件内,所以不用 bind(this)
普通函数里 this 指向调用它的地方,在没有bind 的时候指向函数,而不指向组件,所以要想让 this 指向组件必须使用 bind()
在类的实例上面调用方法,其实就是调用原型上的方法。
class B {}
let b = new B();
b.constructor === B.prototype.constructor // true
prototype对象的constructor属性,直接指向“类”的本身,这与 ES5 的行为是一致的。
Point.prototype.constructor === Point // true
constructor() 方法
constructor方法是类的默认方法,通过new命令生成对象实例时,自动调用该方法。一个类必须有constructor方法,如果没有显式定义,一个空的constructor方法会被默认添加。
所有关于组件自身的状态的初始化工作都会放在 constructor 里面去做。
Props:
props是property的缩写,可以理解为HTML标签的attribute。
不可以使用this.props直接修改props,因为props是只读的,props是用于整个组件树中传递数据和配置。
在当前组件中访问 props,通过this.props.属性名
获取。props属性是父组件控制子组件的单向数据流传输的关键
super()
组件间的沟通方式(数据传递)
- 父组件更新组件状态 ——> props ——> 子组件更新
- 子组件更新父组件状态 :需要父组件通过 props 传递回调函数 ——> 子组件调用触发
网友评论