¿Puede actualizar dos o más valores en un estado anidado usando una llamada de método de actualización de immutability-helper?
Probé el siguiente código, pero solo se implementa la última línea [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})La razón por la que esto no funciona es porque no puede tener claves duplicadas en un objeto (es decir, dos claves [elemento]).
Creo que esto funcionará: cambie su declaración de actualización a:
let score = update(this.state.players, { [element]: {points: {$set: 2 }, fouls: {$set: 1 }}, });