簡體   English   中英

為什么我無法在 reactjs 中的 Click 處理程序 function 中獲取 map() 方法索引

[英]why i am not able to get map() method index inside of Click handler function in reactjs

為什么我無法在 reactjs 中的 Click 處理程序 function 中獲取 map() 方法索引,即使我已經從 map 方法傳遞了索引,它總是返回未定義。 下面是我的實現 url

https://codesandbox.io/s/mystifying-wu-vou3c?file=/src/App.js

箭頭 function切換帶有 2 個參數: elementindex ,您只傳遞 index 作為第一個參數(應該是 element),因此 index 未定義。

只需將您的代碼更改如下:

onClick={index => toggle(element, index)}

更新

建議的代碼對於復制粘貼是錯誤的。

事件處理程序采用事件 object 的參數,您將該參數命名為索引,因此當您傳遞給切換時,它使用事件而不是 map 索引。

反正toggle需要2個參數,所以要傳2個。

我認為正確的解決方案是:

onClick={ev => toggle(ev.target, index)}

這對於切換 function 來說很好,但是您的代碼仍然存在錯誤,因此請查看@adel 答案。

onClick 應該是這樣的: onClick={() => toggle(index)}所以索引來自array.map我還編輯了你的代碼並刪除了isOpen Z9ED39E2EA931586B6A985A6942EF573E 這里完整的代碼: 代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM