如何解决reactjs和更新数组状态
它可能是一些愚蠢的错误,但我找不到tbh。。这是我的状态示例:
this.state = {
data: {
some data: ['some data']
}
}
const newArr = this.state.data[key].filter(item => item !== value);
在上面的代码中,我得到了我想要的是一个没有一个特定项目的数组
data: {
...this.state.data,[key]: newArr
},
但是它不起作用..这是怎么了?
解决方法
在代码中,您要将过滤后的数组附加到原始数组中的项目中。那是你的意图吗?
data: {
...this.state.data,[key]: [
...this.state.data[key],// individual entries
newArr,// array
],},//result:
data: {
'some key': [
"item 1",// string from original
"item 2",// string from original
[ "item 1","item 2"] // array
]
}
如果您只想要过滤的项目:
data: {
...this.state.data,[key]: newArr // the filtered array
},//result:
data: {
'some key': [
"item 2",// filtered items
]
}
,
好吧,这是我的错。代码本身是正确的。由于我的错误,国家两次成立。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。