Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.08.2021, 18:42
Новичок на форуме
Отправить личное сообщение для Fragman Посмотреть профиль Найти все сообщения от Fragman
 
Регистрация: 10.08.2021
Сообщений: 7

Не уверен, что делаю правильно.
Доброго времени суток, товарищи. Имеется функция, меняющая состояние в массиве. Работает как нужно, однако что-то мне подсказывает, что это неправильно. Что здесь не так?
onCheck = (props) => {
        let cards = [...this.state.cards];
        const k = cards.findIndex((elem) => elem.id === props);
        cards[k].checked = !cards[k].checked;
    };
Ответить с цитированием
  #2 (permalink)  
Старый 27.08.2021, 18:48
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

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

Ну и setState ты забыл.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 27.08.2021, 19:00
Новичок на форуме
Отправить личное сообщение для Fragman Посмотреть профиль Найти все сообщения от Fragman
 
Регистрация: 10.08.2021
Сообщений: 7

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

Ну и setState ты забыл.
Спасибо, большое!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка (Line is not a function), что я делаю не так? Adre jQuery 1 22.07.2019 07:23
Анимация, что я делаю не так? Янковиц Элементы интерфейса 1 19.07.2019 20:26
подскажите что не так делаю с модальными окнами? cinema4d Элементы интерфейса 8 17.11.2014 01:48
http://gigalit.info - Мои контакты Маэстро Ваши сайты и скрипты 70 08.12.2011 03:12
Что в скрипте не правильно? 6AT9 Общие вопросы Javascript 12 25.11.2008 12:18