Size: a a a

JavaScript Noobs — сообщество новичков

2021 August 30

VP

Viktor Petevotov in JavaScript Noobs — сообщество новичков
а, тогда понял, почему там push)
источник

J

Jakhongir in JavaScript Noobs — сообщество новичков
Там массив массивов?
источник

VK

Vadim Kolbik in JavaScript Noobs — сообщество новичков
это в чистом редаксе надо возвращать сначала массив, а тут можно и через пуш
источник

J

Jakhongir in JavaScript Noobs — сообщество новичков
думаю так понятнее

let index = state.shopItems.findIndex(e=>e.id === action.payload.id)
if (index>-1) {
   state.shopItems[index].count++
} else state.shopItems.push(action.payload)

я еле допер че там за форич внутри
источник

VK

Vadim Kolbik in JavaScript Noobs — сообщество новичков
Нет, счас попробую описать у меня есть обычный json файл {
   "shop_item":[
       {
           "id":"1",
           "name":"qwe1",
           "price":13123,
           "category":1
       },
и так далее...
]}
я его через axios получаю, и при нажатии на какой-нибудь из этих элементов в массиве, я добавляю этот элемент в новый массив, который представляет из себя массив для корзины. Я создаю редюсер который проверяет если у меня есть в массиве корзина уже элемент с таким айди который я пытюсь передать, то он просто добавляет к элементу в этоммассиве значение count увеличенное на 1, если же в массиве корзина нету элемента с таким айди, то он просто добавляет этот элемент в новый массив корзина, и теперь я хочу сделать таким образом, мне надо чтобы по кнопке в корзине я мог уменьшать колличество count у элементов в массиве корзина и когда это колиичество count будет меньше 1, то он просто удалит этот элемент с массива корзина и не будет там отображаться, фух вот как-то так
источник

J

Jakhongir in JavaScript Noobs — сообщество новичков
ок, и какая проблема?
источник

VK

Vadim Kolbik in JavaScript Noobs — сообщество новичков
источник

VK

Vadim Kolbik in JavaScript Noobs — сообщество новичков
Проблема в том, что я походу немного туповатый и не обладаю достаточными знаниями в нативном js( а именно не знаю как это реализовать в этом редюсере, тоесть псевдокодом понимаю, а на деле нет...
источник

VP

Viktor Petevotov in JavaScript Noobs — сообщество новичков
ну начни с того, чтобы найти этот товар, например,
источник

VK

Vadim Kolbik in JavaScript Noobs — сообщество новичков
Я его нашёл на 34 строке
источник

J

Jakhongir in JavaScript Noobs — сообщество новичков
let index = state.shopItems.findIndex(e=>e.id === action.payload.id)
let elem = state.shopItem[index];
if (elem.count>1) {
   count—
} else {
   state.shopItems. (filter или splice)
}
источник

VP

Viktor Petevotov in JavaScript Noobs — сообщество новичков
const shopItem = state.shopItems.find(item => item.id === action.payload.id)
источник

IS

Ivan Savin in JavaScript Noobs — сообщество новичков
splice, надо же ссылку сохранить
источник

J

Jakhongir in JavaScript Noobs — сообщество новичков
твоя 34 строка делает что угодно, но не ищет 1 нужный товар
источник

A

Andrew ;) in JavaScript Noobs — сообщество новичков
Всех приветствую.
Господа, у кого-нибудь есть опыт с курсами Mate academy?
источник

J

Jakhongir in JavaScript Noobs — сообщество новичков
надо ли) я не в курсе
источник

XX

Xodor Xodorenko in JavaScript Noobs — сообщество новичков
кто то использует регулярно регулярные выражения ?
источник

S

System404 in JavaScript Noobs — сообщество новичков
Кто то определённо использует
источник

VK

Vadim Kolbik in JavaScript Noobs — сообщество новичков
хммм странно, просто она отрабатывает как я и писал, она изменяет поле count у именно того элемента на который нажимаю
источник

VP

Viktor Petevotov in JavaScript Noobs — сообщество новичков
еще непонятно, откуда там count
источник