关于箭头函数onClick里面index传递的问题
来源:6-1 UI组件和容器组件
DeveloperZ
2020-03-30
老师6-1的
renderItem={(item,index)=>(<List.Item onClick={(index)=>{this.props.handleDelete(index)}} >{item}</List.Item>)}
这里如果按照您视频里的写法,相当于在onClick里面定义的函数重新定义了一个值为undefined的index,这样是无法获取到renderItem函数里面的index的,
需要把onClick箭头函数括号里面的index去掉,这样在onClick函数内部可以直接获取到renderItem函数的index,因为renderItem函数是onClick函数的外部函数,只要不内部覆盖掉index,就能获取.
renderItem={(item,index)=>(<List.Item onClick={()=>{this.props.handleDelete(index)}} >{item}</List.Item>)}
不知道我上面的理解是不是对的。
4回答
-
慕粉3633604
2020-06-08
我找了半天才解决掉,海,希望老师能出一个视频,维护和更新的内容统一说明一下,比如说react现在版本更新了,需要某个地方需要改成什么样。
20 -
Slave_Programmer
2020-10-15
用之前的寫法也可以吧?新建一個自己的刪除方法,方法裏再調用父組件的刪除方法。
<List.Item onClick={()=>{this.test.bind(this,index)}} >{item}</List.Item>
。。。。
test(index){ this.props.handleDelete(index) }
_____
當我沒説。。把邏輯又寫出來,意義好像就失去了
00 -
慕斯卡1555144
2020-04-06
嘿嘿,我也发现了这个问题。箭头函数括号里如果写了index,那么它是个形参,被点击时传入点击事件对象,包含被点击的DOM元素、位置等信息。
00 -
Dell
2020-04-02
你理解的是对的,很棒
00
相似问题