Что значит Устаревший. Вместо этого используйте компонуемость. означает в Reactjs Material-UI элементы меню?

Я забираю проект, который был создан с помощью более старой версии реакции, и я обновляю этот проект, но сначала получаю ошибки консоли.

Ошибка :

bundle.js:6263 Предупреждение: свойство «menuItems» «LeftNav» устарело. Вместо этого используйте компонуемость.

Мой первый подход заключался в поиске документации Material-UI и в отношении «Left Nav» -> MenuItems, я обнаружил, что объяснение совпадает с сообщением, отображаемым в консоли.

Поскольку я не знаком с реакцией и не могу понять, что здесь означает «композитивность».

В документации React говорится о нескольких компонентах, но я вижу обработку HTML только для Множественный объект.

Мой код :

var menuItems = [
    { route: '/', text: 'Home' },
    { type: 'SUBHEADER', text: 'Connect' },
    { route: '/categories', text: 'Categories' },
    { route: '/icons', text: 'Icons'},
];

который не находится внутри класса, а затем в функции рендеринга:

    <LeftNav ref="leftNav"
             docked={false}
             style={{opacity: '0.9'}}
             menuItems={menuItems}
             onChange={this.leftNavOnChange}
     />

Кто-нибудь сталкивался с этой проблемой?


person Jay Cee    schedule 22.03.2016    source источник


Ответы (1)


Вы должны использовать children вместо menuItems.

Например:

<LeftNav>
    <MenuItem>Menu Item</MenuItem>
    <MenuItem>Menu Item 2</MenuItem>
</LeftNav>
person Aleksandr Petrov    schedule 22.03.2016
comment
Хорошо, спасибо, я больше узнаю на своей стороне о реакции, но как тогда сохранить корень / текст? Приходится все писать в другой объект или собирать как в json? - person Jay Cee; 23.03.2016
comment
@JayCee Теперь вам нужно вручную передать все элементы, которые должны быть в LeftNav. Вы можете использовать menuItems.map для рендеринга нескольких элементов MenuItem и установки необходимых реквизитов. Это было сделано потому, что некоторым людям нужно передавать пользовательский контент внутри LeftNav, а не только MenuItem. - person Aleksandr Petrov; 23.03.2016
comment
Большое спасибо! - person Jay Cee; 23.03.2016
comment
И последний вопрос, можно ли сохранить прежний стиль или мне его переписать? - person Jay Cee; 23.03.2016