Quindi ho lavorato su questo per un po 'e ho ritenuto che sarebbe meglio rifattorizzare il mio codice in modo che lo stato sia impostato come una matrice di oggetti. Quello che sto cercando di fare è incrementare un numero con un clic del pulsante.ReactJS - setState della chiave Oggetto nell'array
Ho una funzione di callback in un componente che attiva una funzione per aggiornare lo stato ... tuttavia ho difficoltà a individuare il valore della chiave all'interno dell'oggetto.
mio stato iniziale si presenta così:
getInitialState: function() {
return {
items: [
{
links: 'zest',
trackId: 1023,
songTitle: 'z know the others',
artist: 'zuvet',
upVotes: 0
},
{
links: 'alpha',
trackId: 987,
songTitle: 'ass',
artist: 'arme',
upVotes: 3
},
]
}
Sto cercando di indirizzare la chiave upVotes
, ma non riesco a capire come. La mia funzione passa una chiave in modo da poter indirizzare l'indice nell'array, ma quando provo a fare qualcosa del tipo: this.setState({items[key]: {upVotes: this.state.items[key].upVotes + 1}})
genera un errore a causa del token imprevisto [
.
Ho provato qualcosa di simile a questo thread here, ma continuo a ricevere errori.
Che tipo di funzione posso scrivere per impostare lo stato di solo la chiave nell'oggetto che voglio targetizzare?
grazie mille! Non ho nemmeno pensato di afferrare tutto ... grazie mille. Ancora molto molto nuovo per React e questo aiuta un sacco. Accetterò la risposta tra un paio di minuti. Eri troppo veloce :) –
Sono felice di poterti aiutare. (: –
dopo la documentazione di risposta, tutto dovrebbe essere donne in setState (oldState => il tuo codice) – crak