@xenonhammer

Почему не перерисовывается компонент?

Допустим есть коллекция объектов.

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 а сюда попадают уже не сортированные объекты, а в прежнем виде.
Угу, я решил добавить метод который удаляет из сортированной коллекции компонент и знаете что?(внезапно) все перерисовалось уже с нужной сортировкой.

У Вас есть мысли почему такое может быть господа?
  • Вопрос задан
  • 66 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы