Tengo la siguiente tabla / matriz:
Si presiono el botón azul, todos los artículos con el mismo grupo que el registro deberían cambiar el Estado (Gratis). Pero ahora solo cambia el valor del registro y todos los elementos que se encuentran arriba. Como ejemplo, si presiono el Botón en el Registro No. 1, entonces él mismo y todos los anteriores (No. 0) obtienen un cambio de Estado (Gratis).
Siguiendo el código que estoy usando para revisar la matriz y cambiar el Estado:
private _updateFreeStatus = (record: QuestionModel): void => { fetch('api/Test/UpdateGratisStatus', { headers: { 'Content-Type': 'application/json' }, method: 'PUT', body: JSON.stringify({ 'group': record.group, 'free': record.free, }) }); this.state.question.map(item => { if (item.group === record.group) { item.free = !record.free; } }); }
setState
Usar
const updatedQuestions = this.state.question.map(item => { if (item.group === record.group) { return { ...item, free: !record.free } } return item; }); this.setState({question: updatedQuestions});