Итак, у меня есть следующее состояние
{
"QuoteList": [
{
"quote": "I really love my Tesla. I'm in the future. Thank you Elon.",
"vote": 0,
"id": "3443b2c9-717a-422b-9666-b6668646efa4"
},
"{id: \"4ba25c34-29c8-4924-8943-1f819b424048\", quote:…}",
"{id: \"d30fa77e-821f-4a0d-b503-ed9ee6b029db\", quote:…}",
"{id: \"4179b4b4-b534-4a32-88b5-792f6a782c47\", quote:…}",
"{id: \"ff269cf0-3e72-474f-8516-9ee90a39ccf7\", quote:…}",
"{id: \"daf4aace-f34b-4874-93bc-6d255191c2c0\", quote:…}",
"{id: \"58472f93-4ad3-4f99-a2a8-2caaeb91b7a1\", quote:…}",
"{id: \"09605e80-c257-479c-aacf-a2ed81dc78e5\", quote:…}",
"{id: \"7207f920-ea0a-46ef-a823-2f0a6fbdbbd8\", quote:…}",
"{id: \"ba97d5fe-6179-4fda-b4fe-6260051e5dca\", quote:…}"
]
}
, и у меня есть следующий код для уменьшения голосов на -1 для дочернего компонента (идентификатор подается в downVote ()
downVote(id) {
this.setState((prevState) => ({
QuoteList: prevState.QuoteList.map((q) => (q.id === id ? { ...q, vote: q.vote - 1 } : q))
}));
}
проблема в том, что он не работает и выдает мне следующую ошибку. Может кто-нибудь определить, где я ошибаюсь?: /
TypeError: this.setState is not a function
downVote
src/KanyeQuotes/KanyeQuotes.js:25
22 | }
23 |
24 | downVote(id) {
> 25 | this.setState((prevState) => ({
| ^ 26 | QuoteList: prevState.QuoteList.map((q) => (q.id === id ? { ...q, vote: q.vote + 1 } : q))
27 | }));
28 | }