如何理解下面代码的bind(this,record)

render:(text,record) =>{

            return (
                <span>
                    <a href="#" onClick={this.handlerDel.bind(this,record)}>删除</a>
                    <span className="ant-divider"></span>
                    <a href="#" onClick = {this.handlerInfo.bind(this,record)}>详情</a>
                    <span className="ant-divider"></span>
                    <a href="#" onClick = {this.handlerEdit.bind(this,record)}>修改</a>
                </span>`请输入代码`
阅读 3.4k
2 个回答

bind(this,record),this是对return的组件进行绑定,类似于指定一个指针指向某个组件,record,是传入的变量。建议条件允许可以使用ES6语法,在ES6语法中就改变成了(record) =>this.handlerDel(record),就不用管this指针了

先丢文档
https://developer.mozilla.org...

这里的bind的意思是在react中的onClick的时候执行回调方法this.handlerDel,如果不指定this,那么在this.handlerDel中有用到this相关的属性或者方法,就会在执行的时候报错。

再丢一篇 文章 ,加深一下对this执行的时候的指向理解:

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