reactjs - 如何访问特定项目密钥
问题描述
我有这个状态
this.state = {
isdone: '',
items: [],
currentItem: {text:'', key:''},
}
我在 currentItem 中存储唯一键,我需要遍历这些项目以设置 isdone 值所以我尝试这样
completeItem = key => {
this.state.items.map(item => {
if (this.state.currentItem.key === key) {
this.setState({isdone: 'is-done'})
}
})
}
但这不会改变 isdone 值,如何正确更改 isdone 值?
解决方案
设置isdone
为特定item
而不是state.isdone
.
const items = this.state.items;
items.map((item, index) => {
if (this.state.currentItem.key === key && item.key === key) {
this.setState({
items: [
...items.slice(0, index),
{ ...item, isdone: 'is-done' },
...items.slice(index + 1, items.length)
]
})
}
})
推荐阅读
- javascript - 如何正确地将 React js 应用程序连接到 MongoDB 数据库
- python-3.x - 在列表理解期间有条件地生成两个元素
- python - 如何制作 3D 散点图,但我想要一个“x”或“o”,具体取决于第四个参数?
- wkhtmltopdf - wkhtmltopdf 中显示的表格边框
- python - 对 Pandas 数据框的 JSON 响应
- r - 使用带引导的自适应套索功能时出错
- javascript - 执行 ajax 请求时访问控制允许来源错误
- php - WooCommerce 添加到购物车消息通知文本
- php - 来自 guestform 的 Wordpress 将图像添加到 post_content
- javascript - 如何在纯Javascript中推送元素并将它们保存在数组中?