@timonck

Как перезаписать значения в массиве объектов?

У меня есть массив обьектов
let data = [
    {
        id: 1,
        title: "Product 1",
        images: [
            "http://www.nicolethemes.com/sapphire-html/products/dress1home.jpg",
            "http://www.nicolethemes.com/sapphire-html/products/dress2home.jpg",
            "http://www.nicolethemes.com/sapphire-html/products/dress5home.jpg",
            "http://www.nicolethemes.com/sapphire-html/products/dress6home.jpg",
        ],
        price: 18,
        company: "Bed",
        info:
            "Lorem ipsum .",
        inCart: true,
        count: 3,
        total: 0
    },
    {
        id: 2,
        title: "Product 2",
        images: [
            "http://www.nicolethemes.com/sapphire-html/products/dress3home.jpg",
            "http://www.nicolethemes.com/sapphire-html/products/dress7home.jpg"
        ],
        price: 17,
        company: "Sofa",
        info:
            "Lorem ipsum.",
        inCart: true,
        count: 5,
        total: 0
    }
]

как мне при клике изменить все inCart на false a count на 0?
я пробовал так но так не работает
const clear = () => {
        let tempProduct = [...products]
        let res = tempProduct.map(i => {return(
            i.inCart = false,
            i.count = 0)
        });
    };
  • Вопрос задан
  • 200 просмотров
Пригласить эксперта
Ответы на вопрос 2
mindyourlifeguide
@mindyourlifeguide
В react данные иммутабельны.
Используйте setState.
Ответ написан
miraage
@miraage
Старый прогер
products.map((data) => ({
  ...data,
  inCart: false,
  count: 0,
})
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы