react on es6+ 如何绑定 this

在 jQuery 中的回调函数中使用 es6 的写法该怎样绑定 this ?

普通写法

    componentDidMount() {
        $.ajax({
            url: this.props.url,
            dataType: 'json',
            cache: false,
            success: function(data) {
                this.setState({data: data})
            }.bind(this)
        })
    }

如果这样写改怎样绑定 this ?

    componentDidMount() {
        $.ajax({
            url: this.props.url,
            dataType: 'json',
            cache: false,
            success(data) {
                this.setState({data: data})
            }
        })
    }

或许是我想多了?

阅读 4.3k
3 个回答

确实想多了,createClass写法完全不用操绑定的心,如果是class就把要传给子组件的函数在构造函数里绑定下,不过我一般都是直接用箭头函数如 onClick={() => { this.add() }}

fat arrow function

success:((data)=>{

})

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题