关于箭头函数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现在版本更新了,需要某个地方需要改成什么样。

2
0

Slave_Programmer

2020-10-15

用之前的寫法也可以吧?新建一個自己的刪除方法,方法裏再調用父組件的刪除方法。

<List.Item onClick={()=>{this.test.bind(this,index)}} >{item}</List.Item>

。。。。

test(index){    this.props.handleDelete(index) }

_____

當我沒説。。把邏輯又寫出來,意義好像就失去了

0
0

慕斯卡1555144

2020-04-06

嘿嘿,我也发现了这个问题。箭头函数括号里如果写了index,那么它是个形参,被点击时传入点击事件对象,包含被点击的DOM元素、位置等信息。

//img.mukewang.com/szimg/5e8abd9009d525a008970238.jpg

0
0

Dell

2020-04-02

你理解的是对的,很棒

0
0

React零基础入门到实战,完成企业级项目简书网站开发

主流新技术 React-redux,React-router4,贯穿基础语法

5275 学习 · 2496 问题

查看课程