_phpstudy
2018-08-27 21:56
我看到老师会写bind方法修改当前this的指向。
但是如果这个函数直接使用箭头函数定义就不需要bind了呀
handlerBtnClick = ()=>{
this.setState({
list:[...this.state.list,this.state.inputValue],
inputValue:''
})
}
handlerInputChange = (e)=>{
this.setState({
inputValue: e.target.value
})
}
handlerLiClick = (k)=>{
let list = [...this.state.list];
list.splice(k,1);
this.setState({list});
}还有一个问题,不用bind如何传递参数:
handlerLiClick={this.handlerLiClick.bind(null,k)}这里放的是函数名,而不是函数调用,想知道如何放参数,如果不用bind的情况。
箭头函数这种写法属于实验性的写法,也就是说,日后更新后可能就不支持通过箭头函数改变this(具体可在官方文档 - 事件处理 那一章节查看)
2. 两种传递参数的方法:
```javascript
<button onClick={(e) => this.deleteRow(id, e)}>Delete Row</button>
<button onClick={this.deleteRow.bind(this, id)}>Delete Row</button>```
handlerLiClick={(k)=>this.handlerLiClick}
handlerLiClick={(k)=>this.handlerLiClick.bind}
改成箭头函数后,删除的task不是点击的task而是key=0的第一项。
React16.4 快速上手
40364 学习 · 137 问题
相似问题