【发布时间】:2021-07-28 16:22:31
【问题描述】:
我有一个组件card,它被多次渲染,每次都包含不同的数据,如下所示:
{ this.state.response.reminders.map((item,i=0) =>{
return <Card key={i++} reminder={item} deleteRem={this.deleteReminder}/>
}
)}
card 组件有一个按钮,单击该按钮会删除卡片。我通过从单击按钮的特定card 中提取数据来做到这一点,将其发布到我的烧瓶后端以从数据库中删除。问题在于我提取数据的方式,通过像这样访问每个元素:
let plainData = {};
plainData['reminder']=event.target.parentElement.parentElement.parentElement.children[1].children[1].children[0].children[0].value
plainData['date']= event.target.parentElement.parentElement.parentElement.children[1].children[0].innerText
选择语句的巨大链是一段非常糟糕的代码,我知道。这是我用来让它工作的一种快速而肮脏的方式。但我很好奇如何正确做到这一点。感谢阅读!
编辑:
我认为我的问题没有正确传达。确切地说,我关心的是冗长而不整洁的代码:plainData['reminder']=event.target.parentElement.parentElement.parentElement.children[1].children[1].children[0].children[0].value选择元素的更好方法是什么?
【问题讨论】:
-
小注:不需要
i++,因为生成的i+1不会立即使用,i无论如何都会在下一次“迭代”中重置。
标签: javascript reactjs react-component