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

  • <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)
            });
        }
    });
}
原文地址:https://www.cnblogs.com/bluefantasy728/p/5840564.html