采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老是想问一下像this.handleItemDelete.bind(this, index)需要额外传参传参的函数 bind怎么写在constructor里让它只绑定一次
这个没有办法,因为每次传的内容不一样,所以只能这样的动态生成
这样的话是不是用箭头函数的方式会好一点!
都一样,bind本质也就是个函数包装
这个应该不可能, 你在构造函数里不可能知道循环的index是几,而且构造函数只走一次,你list改变以后还指望构造函数给的index是对的吗?你说呢?
所问非所答
你理解透了就知道不是答非所问了
您说得对
.bind(this, index),等于绑定了this,并且将每个Item的index作为handler的预设参数传了进去。Item触发click时hanler被调用,参数就是当时预设的index。如果在handler里写bind(this),你怎么给handler传参呢。你是不是想onClick={this.handler(index)},这样的话{}里的this.handler(index)不是一个函数,而是handler调用后的结果了。
首先,调用bind的时候,函数的this指向就已经强制绑定了,这时函数不会调用。再次调用函数时可以正常传参数,反复传参数并不会影响bind绑定的this指向。
登录后可查看更多问答,登录/注册
主流新技术 React-redux,React-router4,贯穿基础语法
5.4k 22
5.6k 20
1.9k 19
4.2k 17
1.4k 13