请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

bind的一点疑问!

老是想问一下像this.handleItemDelete.bind(this, index)需要额外传参传参的函数 bind怎么写在constructor里让它只绑定一次

正在回答

4回答

这个没有办法,因为每次传的内容不一样,所以只能这样的动态生成

0 回复 有任何疑惑可以回复我~
  • 提问者 雪挽 #1
    这样的话是不是用箭头函数的方式会好一点!
    回复 有任何疑惑可以回复我~ 2018-07-01 21:18:42
  • Dell 回复 提问者 雪挽 #2
    都一样,bind本质也就是个函数包装
    回复 有任何疑惑可以回复我~ 2018-07-01 22:53:34
箭在弦上憋而不发 2018-06-29 00:19:03

这个应该不可能, 你在构造函数里不可能知道循环的index是几,而且构造函数只走一次,你list改变以后还指望构造函数给的index是对的吗?你说呢?

1 回复 有任何疑惑可以回复我~
shen_wl 2018-07-13 23:21:14

.bind(this, index),等于绑定了this,并且将每个Item的index作为handler的预设参数传了进去。Item触发click时hanler被调用,参数就是当时预设的index。
如果在handler里写bind(this),你怎么给handler传参呢。你是不是想onClick={this.handler(index)},这样的话{}里的this.handler(index)不是一个函数,而是handler调用后的结果了。

0 回复 有任何疑惑可以回复我~
20K 2018-07-03 15:05:41

首先,调用bind的时候,函数的this指向就已经强制绑定了,这时函数不会调用。再次调用函数时可以正常传参数,反复传参数并不会影响bind绑定的this指向。

0 回复 有任何疑惑可以回复我~

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信