@AsyaL

Чтение данный объекта из json для react компанента?

Добрый день, изучаю реакт и столкнулась с проблемой мапинга данных объекта.
Есть фаил json в котором аля меню, которое в одном компоненте показывает список категорий меню, а во втором компоненте показывает содержание из каждой категории. Проблема появляется с чтением данных во втором компоненте.
Как правильно прочесть данные объекта? Object.keys() не спас, вариации this.props.data.snacks. и так далее не помогли, пересмотрела кучу форумов, но не нашла способа прочесть вложенный объект. Буду признательна за совет как правильно реализовать

class ItemOfMenu extends React.Component {
	constructor (props){
		super(props);
	}
  render() {
		var ltems = this.props.data.snacks.map(function(snacks){
		return <a key={snacks.id}><li>{snacks.name}</li></a>;
  });
	return (
	<div className="menu-categor"><ul>{ltems}</ul>	</div>     
       );
  }
}


[
{
"itemmenu": "Snacks",
"snacks": [
      {
        "id": 0,
        "name": "Tina Golden"
      },
      {
        "id": 5,
        "name": "Victoria Cannon"
      },
      {
        "id": 2,
        "name": "Hernandez Joyce"
      }
    ]
},
{
"itemmenu": "Soop",
"soop": [ 
      {
        "id": 0,
        "name": "Tina Golden"
      },
      {
        "id": 1,
        "name": "Victoria Cannon"
      },
      {
        "id": 2,
        "name": "Hernandez Joyce"
      }
    ]
}
]
  • Вопрос задан
  • 279 просмотров
Пригласить эксперта
Ответы на вопрос 1
Что-то вроде этого, но надо проверять, что конкретно вы передаёте в props:
class ItemOfMenu extends React.Component {
  constructor (props){
    super(props);
  }
  render() {
  return (
  <div className="menu-categor">
    <ul>
      {
        this.props.data.snacks.map( snacks=> <li key={snacks.id}><a>{snacks.name}</a></li> );
      }
    </ul>
  </div>     
       );
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
17 мая 2024, в 12:41
10000 руб./за проект
17 мая 2024, в 12:40
30000 руб./за проект
17 мая 2024, в 12:22
350 руб./за проект