Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Не уверен, что делаю правильно. (https://javascript.ru/forum/dom-window/83017-ne-uveren-chto-delayu-pravilno.html)

Fragman 27.08.2021 18:42

Не уверен, что делаю правильно.
 
Доброго времени суток, товарищи. Имеется функция, меняющая состояние в массиве. Работает как нужно, однако что-то мне подсказывает, что это неправильно. Что здесь не так?
onCheck = (props) => {
        let cards = [...this.state.cards];
        const k = cards.findIndex((elem) => elem.id === props);
        cards[k].checked = !cards[k].checked;
    };

Aetae 27.08.2021 18:48

Если ты про реакт, то да, там последняя строка должна выглядеть как-то так:
cards[k] = {
  ...cards[k],
  checked: !cards[k].checked;
};

Ну и setState ты забыл.

Fragman 27.08.2021 19:00

Цитата:

Сообщение от Aetae (Сообщение 539795)
Если ты про реакт, то да, там последняя строка должна выглядеть как-то так:
cards[k] = {
  ...cards[k],
  checked: !cards[k].checked;
};

Ну и setState ты забыл.

Спасибо, большое!


Часовой пояс GMT +3, время: 15:24.