Уже 2 часа сижу с этим багом, хотя он очень банальный.
let aa = this.state.containers.map((obj, idx) => {
if(obj.mainItem !== null) {
print('____________________');
print(newItems[idx]);
obj.mainItem.content = newItems[idx];
print(obj.mainItem.content);
}
if(obj.mainItem !== null) {
print(obj.mainItem);
}
print('______________________');
return obj
});
Он присваивает последний элемент массива newItems, притом, если заменить в дебаге print(obj.mainItem); на print(obj.mainItem.content); (во втором if) выводит правильно:
если совместить
print(obj.mainItem);
print(obj.mainItem.content);
получаем:
От выводит правильное значение поля, которое занято , почему-то, другим объектом
Пробовал делать через for in, просто for, ничего не помогает
Большое спасибо @AlexeyTen, проблема решилась так:
obj.mainItem = JSON.parse(JSON.stringify(obj.mainItem));
obj = JSON.parse(JSON.stringify(obj));
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости