Отправка JSX в массив

Итак, я рекурсивно просматриваю свои вложенные объекты, перемещая пункты меню в меню, которое я создал, как показывает этот код:

let menu = [];
this.createDropDown(menu, objects)
return(menu);

createDropDown = (menu, objects) => {
if (Object.keys(objects).length === 1){
  menu.push(
  <Menu.Item key = {Object.keys(objects)}>{Object.keys(objects)}</Menu.Item>
  );
}else{
  for(var k in objects){
    menu.push(<Menu.Item key = {Object.keys(objects[k])}>{k}</Menu.Item>,
    <SubMenu>{this.createDropDown(menu, objects[k])}</SubMenu>);
  }
}
}

Созданное мной меню возвращается в рендер:

render(
     return(
      <Menu onClick = {handleClick} style = {{ width: 256 }} mode = "vertical">
      {this.createMenu()}
      </Menu>
    );
)

Пользовательский интерфейс выводит огромный беспорядок, я пробовал это напрямую с помощью return () (без создания меню и нажатия на него, но я не могу перебирать все объекты, поскольку процесс завершается с первым «Object.keys (objects) .length === 1 "обнаружено), и он отобразил элементы и подменю. Есть идеи, почему React это делает?

С какой проблемой вы столкнулись?

Agney 04.04.2018 17:13

Меню отображается некорректно, элементы прилипают друг к другу, подменю нет ...!

Dorra Hadrich 04.04.2018 17:15

Есть ли способ изменить свою функцию, чтобы вернуть JSX напрямую правильным способом? Иначе почему массив JSX не отображается правильно?

Dorra Hadrich 04.04.2018 17:18

вы помещаете menu.item и подменю в один и тот же массив. Разве они не должны быть дочерними по отношению к элементу меню?

Nirit Levi 04.04.2018 18:17

Да, они являются потомками MenuItem! Итак, что мне делать в этом случае?

Dorra Hadrich 04.04.2018 20:22
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
5
239
0

Другие вопросы по теме