關于把 bind 放在構造函數中的問題。
我看到老師會寫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的情況。
2018-09-24
?箭頭函數這種寫法屬于實驗性的寫法,也就是說,日后更新后可能就不支持通過箭頭函數改變this(具體可在官方文檔 - 事件處理 那一章節查看)
2. 兩種傳遞參數的方法:
```javascript
<button?onClick={(e)?=>?this.deleteRow(id,?e)}>Delete?Row</button> <button?onClick={this.deleteRow.bind(this,?id)}>Delete?Row</button>```
2018-09-13
handlerLiClick={(k)=>this.handlerLiClick}2018-09-13
handlerLiClick={(k)=>this.handlerLiClick.bind}2018-08-28
改成箭頭函數后,刪除的task不是點擊的task而是key=0的第一項。