如何从对象数组中获得一个特定的值,并将它们单独存储



我想知道如何从对象数组中获得特定值。

const [itemList, setItemList] = useState([{
serviceValue:"",
quantityValue:"",
amountToPay:""
}]);

并从一个单独的常量/useState单独映射它们。交货。

const [service,setServiceValue] = useState([]); //serviceValue[]
const [quantity,setQuantityValue] = useState([]);//quantityValue[]
const [amountToPay,setAmountToPay] = useState([]);//amountToPay[]

谢谢!

我使用了Sir Abhishek的解决方案,这样做

const [serviceItem, setServiceList] = useState([{serviceValue:"", 
quantityValue:"",amountToPay:""}]);
console.log(serviceItem);
const [amountToPay, setAmountToPay] = useState([]);
console.log("AMOUNT TO PAY",amountToPay)
useEffect(()=>{
serviceItem.map((item) => (
setAmountToPay([...amountToPay,item.amountToPay])
))
}, [serviceItem])

现在的问题是每次我改变输入的状态,它也记录了以前的输入创建多个数组的对象

这是console.log

我需要amountToPay当前值的原因是我需要使用。reduce

你可以使用map

itemList.map((item)=>{
setServiceValue([...serviceValue, item.serviceValue]);
setQuantityValue([...itemQuantity, item.quantityValue]);
setAmountToPay([...amountToPay,item.amountToPay]);
})

最新更新