Допустим есть коллекция объектов.
const mainData = {
1: {
title: 'подушка',
price: 500
},
2: {
title: 'матрешка',
price: 520
},
3: {
title: 'игрушка',
price: 520
}
//они выводятся и все хорошо.
sort(data){
let suitableData = Object.values(data).sort((a,b) => a.price > b.price ? -1 : 1)
return suitableData
}
let data;
data = mainData
// когда меняю состояние то применяю сортировку (создаю новую коллекцию)
if(this.props.on ){
data = this.sort(mainData)
}
{
Object.keys(data).map( (elem, i ) => {
return <Item key={i} data={data[elem]} partners={partners} />
})
}
Смотрю в консоле и действительно в мап попадает уже сортированная коллекция, но на экране ничего не происходит. Захожу в компонент item а сюда попадают уже не сортированные объекты, а в прежнем виде.
Угу, я решил добавить метод который удаляет из сортированной коллекции компонент и знаете что?(внезапно) все перерисовалось уже с нужной сортировкой.
У Вас есть мысли почему такое может быть господа?