как
менять конкретные поля.
Например
sizes [
{name: m,
value: x},
{name: s,
value: y}
]
Предположим, я хочу обновить состояние value для s размера.
Как это сделать?
…state, value: newX
Похоже, я очень устал, но не могу сообразить
Из говна - sizes.find(size => size.name === …).value = …; Нормально - new Map(sizes.map(size => [size.name, size])); … sizesMap.get(…).value = …
чем обычный объект не подходит?
Можно
Взрыв мозга чуть-чуть) С объектом я понял, просто делаем проверку и меняем значение по ключу родителя. И как альтернатива Map, раньше я такое не использовал, интересно.
Я вот только думаю, это не дичь выйдет, если вложенность большая? У меня для каждого size есть еще цвет и т.д Как-то не Scalable, вот чего я боюсь
И не используй :)
Как мапу апдейтить иммутабельно?
Скопировать и апдейтить
Хорошая идея
Да можно и объект. Только даже боюсь начинать писать штуки вроде: …state, state.item.color[0].size[1].name Я чувствую, что это неправильно. Такое ведь часами писать…
Возьми immer
Обсуждают сегодня