bind的一点疑问!
来源:5-6 使用 Redux 完成 TodoList 删除功能
雪挽
2018-06-28
老是想问一下像this.handleItemDelete.bind(this, index)需要额外传参传参的函数 bind怎么写在constructor里让它只绑定一次
写回答
4回答
-
这个没有办法,因为每次传的内容不一样,所以只能这样的动态生成
022018-07-01 -
箭在弦上憋而不发
2018-06-29
这个应该不可能, 你在构造函数里不可能知道循环的index是几,而且构造函数只走一次,你list改变以后还指望构造函数给的index是对的吗?你说呢?
132018-07-03 -
shen_wl
2018-07-13
.bind(this, index),等于绑定了this,并且将每个Item的index作为handler的预设参数传了进去。Item触发click时hanler被调用,参数就是当时预设的index。
如果在handler里写bind(this),你怎么给handler传参呢。你是不是想onClick={this.handler(index)},这样的话{}里的this.handler(index)不是一个函数,而是handler调用后的结果了。00 -
20K
2018-07-03
首先,调用bind的时候,函数的this指向就已经强制绑定了,这时函数不会调用。再次调用函数时可以正常传参数,反复传参数并不会影响bind绑定的this指向。
00
相似问题