我想知道如何从对象数组中获得特定值。
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]);
})