Как сделать код без переменной shift?

146
27 ноября 2021, 18:40

Есть вот такая часть из React-Redux приложения:

onClick = event => {
    const shift = event.target.dataset.shift;
    this.setState(() => ({ shift }), this.filter);
  };

Хочу event.target.dataset.shift не ложить в переменную shift. Но как бы я не делал у меня ошибки. Вот как я переделал:

onClick = event => {
    this.setState(() => ({ shift: event.target.dataset.shift}), this.filter);
  };

И не работает(

Укажите пожалуйста на ошибку

Answer 1

Попробуйте деструктивное присваивание:

const onClick = ({ target: { dataset: { shift } } }) => {
    this.setState(() => ({ shift }), this.filter);
}

https://jsfiddle.net/3q5u8ftm/

https://learn.javascript.ru/destructuring-assignment

READ ALSO
Браузер Xiaomi и загрузка файлов html форма

Браузер Xiaomi и загрузка файлов html форма

ХелоСтолкнулся с такой бедой

173
Разъезжаются строки в таблице при добавлении ячеек

Разъезжаются строки в таблице при добавлении ячеек

Задача - добавление в начале строк картинок, соответствующих названию игры, если подходящей картинки нет, то должна вставляться картинка...

263
Проверка всех input на пустоту и отображение сообщений об ошибке только у пустых

Проверка всех input на пустоту и отображение сообщений об ошибке только у пустых

Если несколько input, рядом с ними сообщения об ошибке, у которых дефолтно display: none

157
Как запретить вставлять цифры в input type="text"?

Как запретить вставлять цифры в input type="text"?

Стала задача запретить ввод цифр в <input type="text"> созданном для имени

204