Javascript 从状态数组中删除项,并将这些项添加到另一个状态数组中
我想从状态数组中删除项,并将此项添加到另一个状态数组中Javascript 从状态数组中删除项,并将这些项添加到另一个状态数组中,javascript,html,reactjs,Javascript,Html,Reactjs,我想从状态数组中删除项,并将此项添加到另一个状态数组中 deleteItem = (id) => { this.setState(prevState => { const index = this.state.productData.findIndex(item => item.id === id); this.state.storeData[0].saveProducts.push(this.state.productData.slice(index, 1)) ret
deleteItem = (id) => {
this.setState(prevState => {
const index = this.state.productData.findIndex(item => item.id === id); this.state.storeData[0].saveProducts.push(this.state.productData.slice(index, 1))
return this.state.productData
})
}
Json StoreData,数组中对象的Saveproducts项
[
{
"code": "f1",
"name": "storage-no-1",
"capacity": 125,
"temperture": -18,
"humidity": 3 ,
"saveProdoucts":[]
},
{
"code": "f2",
"name": "storage-no-2",
"capacity": 15,
"temperture": -18,
"humidity": 25,
"saveProdoucts":[]
},
{
"code": "R3",
"name": "storage-no-3",
"capacity": 40,
"temperture": 21,
"humidity": 30,
"saveProdoucts":[]
}
]
请检查下面的示例代码,单击每个项目后,它将从productData中删除该项目,并在storedData的saveProducts属性中添加相应的项目 我希望这能解决问题。请将代码保存在react local development中并尝试运行它
import React,{Component,Fragment}来自'React';
类应用程序扩展组件{
状态={
产品数据:[
{id:1,productName:“测试1”},
{id:2,productName:“测试2”},
{id:3,productName:“测试3”},
{id:4,产品名称:“测试4”}
],
storedData:[{saveProducts:[]}]
}
附加项=(id)=>{
const{productData}=this.state
this.setState(prevState=>({
productData:productData.filter(product=>product.id!==id),
存储数据:[
{
储蓄产品:[
…prevState.storedData[0]。保存产品,
…productData.filter(product=>product.id==id)
]
}
]
})
)
}
render(){
//解构
const{productData,storedData}=this.state
返回(
{productData.map(产品=>{
返回(
- this.addItem(product.id)}
key={product.id}>
{product.productName}
)
})}
保存的产品
{
storedData[0]。saveProducts.length是否大于0?
storedData[0]。saveProducts.map(产品=>{
返回(
{product.productName}
)
})
:
“未选择任何产品”
}
);
}
}
导出默认应用程序代码>请检查下面的示例代码,单击每个项目时,它将从productData中删除该项目,并在storedData的saveProducts属性中添加相应的项目
我希望这能解决问题。请将代码保存在react local development中并尝试运行它
import React,{Component,Fragment}来自'React';
类应用程序扩展组件{
状态={
产品数据:[
{id:1,productName:“测试1”},
{id:2,productName:“测试2”},
{id:3,productName:“测试3”},
{id:4,产品名称:“测试4”}
],
storedData:[{saveProducts:[]}]
}
附加项=(id)=>{
const{productData}=this.state
this.setState(prevState=>({
productData:productData.filter(product=>product.id!==id),
存储数据:[
{
储蓄产品:[
…prevState.storedData[0]。保存产品,
…productData.filter(product=>product.id==id)
]
}
]
})
)
}
render(){
//解构
const{productData,storedData}=this.state
返回(
{productData.map(产品=>{
返回(
- this.addItem(product.id)}
key={product.id}>
{product.productName}
)
})}
保存的产品
{
storedData[0]。saveProducts.length是否大于0?
storedData[0]。saveProducts.map(产品=>{
返回(
{product.productName}
)
})
:
“未选择任何产品”
}
);
}
}
导出默认应用程序代码>不改变状态。productData是一个由要使用id筛选数组的项组成的数组,则剩余项应保存在storeData[o].saveProducts数组中。这就是你要找的吗for@DILEEPTHOMAS我有一个产品列表,我想添加产品列表以存储组件,并进行系列验证:示例a=a b=b c=c。。可以,然后添加到Store@Dani我不明白你能解释一下吗it@Dani基本上,您正在尝试从产品中删除该项,并将其添加到StoredDataOn't mutate状态下的saveProducts数组中。productData是一个由要使用id筛选数组的项组成的数组,然后剩余项应保存在storeData[o]中.saveProducts数组。这就是你要找的吗for@DILEEPTHOMAS我有一个产品列表,我想添加产品列表以存储组件,并进行系列验证:示例a=a b=b c=c。。可以,然后添加到Store@Dani我不明白你能解释一下吗it@Dani基本上,您正在尝试从产品中删除该项并将其添加到storedDataComments中的saveProducts数组中,而不是用于扩展讨论;此对话已结束。@DILEEP THOMAS电子邮件id:amirradnia8@gmail.com@迪利普·托马斯,请发邮件给我,我是project@Dani请检查您的收件箱评论是否不用于扩展讨论;此对话已结束。@DILEEP THOMAS电子邮件id:amirradnia8@gmail.com@迪利普·托马斯,请发邮件给我,我是project@Dani请检查您的收件箱