reactjs - 将 prevState 参数与 setState 中的 map 函数反应
问题描述
我想实现切换功能。(我一直使用 prevState 来执行切换操作)但是在这种情况下,如果我在 map 函数中使用 prevState。它显示“prevState 未定义”的错误。我发布了 2 个代码,第一个在没有 prevState 的情况下工作......但我想使用 prevState 来实现它,如示例所示在此处输入代码 2(但第二个代码给出了上述错误)
正确的:
this.setState({
rawData: this.state.rawData.map(a => {
if(a.id === id){
a.completed = !a.completed
}
return a
})
})
示例 2:
this.setState((prevState)=>{
rawData: this.state.rawData.map(a => {
if(a.id === id){
a.completed = !prevState.a.completed
}
return a
})
})
解决方案
this.setState((prevState)=>({
rawData: prevState.rawData.map(a => {
if(a.id === id){
a.completed = !a.completed
}
return a
})
}))
试试这个。
推荐阅读
- json - 如何根据使用角度 7 中的键的条件检查来过滤 json 响应中的数组
- javascript - React 尝试编辑输入但出现错误
- c# - 如何为 Hangfire RecurringJob 进行集成测试?
- apache-kafka - 是否应该在 Kafka 集群中的所有代理节点上复制主题分区?
- android - 如何在 Flutter 中下载视频 (mp4) 文件?
- java - 关于docker上的多个springboot服务实例可访问性
- python - 更有效地获得两个的最小向量
- .net-core - Asp.Net Core 自定义转换器 appsettings JSON for IDictionary
- java - 如何使字符串的首字母大写和其他小写
- swift - 为什么我在快速上传图片时遇到问题。nil unwrap 的问题。网址