您可以使用 immutability-helper 的一個更新方法呼叫更新嵌套狀態中的兩個或多個值嗎?
我嘗試了下面的代碼,但只實作了最后一行[elementIndex]: {fouls: {$set: 1 }}。
this.state={
players:[{points: 0, fouls: 0, name: 'bob'}, {points: 0, fouls: 0, name: 'joe'}]
}
const element = this.state.players.findIndex(el => el.name === 'bob');
let score = update(this.state.players, {
[element]: {points: {$set: 2 }},
[element]: {fouls: {$set: 1 }}
});
this.setState({ players: score})
uj5u.com熱心網友回復:
這不起作用的原因是因為物件中不能有重復的鍵(即兩個鍵 [元素])。
我相信這會奏效:將您的更新宣告更改為:
let score = update(this.state.players, {
[element]: {points: {$set: 2 }, fouls: {$set: 1 }},
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/353340.html
標籤:javascript 反应 不变性助手
上一篇:如何在分隔符和輸入到新列之間多次提取字串的一部分T-SQL
下一篇:語法錯誤:意外的標記,應為“,”
