Ответы пользователя по тегу React Native
  • В массиве меняется весь массив с объектами?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    Вы передаете ссылку на один и тот же массив всем элементам массива graffik:
    grafik.forEach(elem => {
      elem.attr = attr; 
    });


    Когда передаете напрямую, срабатывает именно потому, что каждый раз создаете новый массив с новыми объектами.

    Вам надо передавать копии массива с копиями вложенных объектов. Сделать это можно так:
    grafik.forEach(elem => {
      elem.attr = attr.map(el => ({ ...el }));
    });

    Либо, если не используете spread оператор:
    grafik.forEach(elem => {
      elem.attr = attr.map(el => Object.assign({}, el));
    });
    Ответ написан
    2 комментария