【学】React的学习之旅6-组件的嵌套2

时间:2022-06-12 08:05:27
  • <input type=text placeholder='aaa'>, placeholder属性是定义文本框在没有输入值之前显示的一段灰色提示
  • ()=>{}箭头函数在ECMA6里可以强制指定调用函数是函数调用方。()里是参数{}里函数体。

    下面2种写法是等价的
componentDidMount(){
$.ajax({
url:this.props.url,
success:function(str) {
this.setState({
comments: JSON.parse(str)
});
}.bind(this) //因为这里的success函数是嵌套在componentDidMount函数里的,所以success函数里的this其实并不是我们需要的组件对象,所以this.setState里这里的this就变成了内部函数里的this,为了避免这种情况,可以用bind进行强制绑定,参数里的this还是外面componentDidMount的this,指定的是组件对象
});
} componentDidMount(){
$.ajax({
url:this.props.url,
success:(str) => { //将函数参数写在小括号里,如果没有参数就留着小括号,如果只有一个参数可以不写小括号,接着是一个箭头=>,此时内部函数里的this的指向就和外面函数是一样的了
this.setState({
comments: JSON.parse(str)
});
}
});
}