我是React Hooks的新手。我有一個state,它看起來像這樣。
const [myData, setmyData] = useState( [
{
"OrderId"/span>: "ord-898s1"。
"肩部尺寸": "12",
"數量": 200,
"肩部寬度": "2",
},
{
"OrderId": "ord-898s2",
"肩部尺寸": "14",
"數量": 790,
"肩部寬度": "2",
}
])
var orderID = "ord-898s2".
var AmountToAdd = 100
我想更新訂單號Amount的值ord-898s2。通過添加100,orderID ord-898s2中的Amount值應該是890
console.log(myData)
所需輸出:
[
{
"OrderId"/span>。"ord-898s1"。
"肩部尺寸": "12",
"數量": 200,
"肩部寬度": "2",
},
{
"OrderId": "ord-898s2",
"肩部尺寸": "14",
"數量": 890,
"肩部寬度": "2",
}
]
我試過這些。
我試過這些。
const result2 = myData.map((item) => /span> {
if (item.OrderId == orderID) {
return { ...item, ["Amount"]:item.Amount 100 }
}
return item
})
setmyData(result2)
它失敗了。我不知道如何制作。請幫助我找到一些解決方案。
uj5u.com熱心網友回復:
你可以這樣做:
setmyData((prev) => //span>
prev.map((el) =>
el.OrderId === "ord-898s2"/span> ? { ...el, Amount: el.Amount 100 } ? : el
)
);
uj5u.com熱心網友回復:
試試下面的代碼。
var data = [
{
"OrderId"。"ord-898s1"。
"肩部尺寸": "12",
"數量": 200,
"肩部寬度": "2",
},
{
"OrderId": "ord-898s2",
"肩部尺寸": "14",
"數量": 790,
"肩部寬度": "2",
}
];
var orderID = "ord-898s2"
var AmountToAdd = 100
data.forEach((item) =>/span>
item.OrderId === orderID ? item.Amount = item. Amount AmountToAdd : item.Amount)。)
console.log(data);
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/333308.html
標籤:
下一篇:我有JavaMap<String,List<String>>和Stringvar,如何在不使用For回圈的情況下回傳其值(List)包含Stringvar的鍵?
