PolyakhAleksandr
@PolyakhAleksandr

Когда в методе render React.JS отрисовываю список, и хочу отобразить только например 'name', выводить id елем. +name, с чем это связано?

Код который я написал тут: https://stackblitz.com/edit/react-7bygb1?file=index.js.
Использую Immutable.js, в метод передаю id объекта который хочу удалить, остальные элементы вывожу методом map.
  • Вопрос задан
  • 132 просмотра
Решения вопроса 3
rockon404
@rockon404 Куратор тега React
Frontend Developer
Вам необходимо перед вызовом map преобразовать OrderedMap в массив. Для этого можно использовать метод toArray:
return arr.delete(id).toArray().map(item => <li key={item.id}>{item.name}</li>);
Ответ написан
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Насколько я понял, это связано с работой OrderedMap.
OrderedMap.map по умолчанию возвращает не массив, а объект.
5a9708586c066449345178.jpeg
Ответ написан
0xD34F
@0xD34F Куратор тега React
Пытаетесь выводить OrderedMap вместо нативного js-объекта. Надо бы преобразовать - для этого есть метод toJS:

renderContent = (arr, id) => {
  return Object.values(arr.delete(id).map(item => <li key={item.id}>{item.name}</li>).toJS())
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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