首页 > 解决方案 > 如何仅选择 .map() 的一个元素?

问题描述

我有一个.map()函数可以根据从 woocommerce api 中提取的产品数量返回我想呈现的这些按钮。我还有一个 onclick 功能,在该功能中,只应选择一个按钮,然后依次className切换。

但是,通过脚本,我选择了数组的所有元素。我很熟悉,我必须将我的独特性传递key={}给函数以获得我想要的结果,但我在这样做时遇到了麻烦:/ 这是我的代码,没有我的尝试https://codesandbox.io/s/018488478p

我已经看过这些以前的问题: 如何在点击时为唯一的一个元素切换类 如何在反应中只修改一个元素。映射函数? 但由于某种原因,我无法将它复制到我的代码中 - 我对这一切都很陌生,所以如果它很容易解决,请原谅我的无知!

另外,当切换发生非常烦人时,我的 div 怎么会扩展?:( 你认为我使用单选按钮更好吗?

标签: javascriptreactjs

解决方案


我喜欢这样的情况,我喜欢跟踪状态中的选定元素,如下所示: https ://codesandbox.io/embed/rm8n26po1q

更新:我更新了沙箱,不包括 id,以及其他一些改进


推荐阅读