Я использую antd 3.15 и GraphQL для извлечения данных и генерирования списка SubMenu и Menu.Item внутри Menu. Тем не менее, я получил сообщение об ошибке, подобное этому Uncaught TypeError: Cannot read property 'isRootMenu' of undefined
Я понятия не имею, что не так с моим кодом. isRootMenu
не указан нигде в документе. ant.design / components / menu / # header и когда я жестко запрограммировал все SubMenu и Menu.List, проблем не было. Могу ли я перебрать данные из GraphQL для генерации SubMenu и Menu.List?
Может кто-нибудь помочь мне с этим вопросом, пожалуйста? Спасибо! Вот мой код:
import * as React from 'react';
import './SideNav.scss';
import { Menu, Icon } from 'antd';
import gql from 'graphql-tag';
import { Query } from 'react-apollo';
const FLOORS_QUERY = gql`
query {
getAllFloors {
id
floorName
rooms {
id
roomName
roomNumber
roomDescription
}
}
}
`;
export default class SideNav extends React.Component {
render() {
return (
<Menu theme="light" defaultSelectedKeys={['1']} mode="inline">
<Query query={FLOORS_QUERY}>
{({ loading, error, data }) => {
if (loading) return <h4> loading... </h4>;
if (error) console.log(error);
console.log(data);
return (
<React.Fragment>
{data.getAllFloors.map((floor) => (
<SubMenu
key={floor.id}
title={
<span>
<Icon type="plus" />
<span>{floor.floorName}</span>
</span>
}
>
<React.Fragment>
{floor.rooms.map((room) => (
<Menu.Item key={room.id}>{room.roomNumber}</Menu.Item>
))}
</React.Fragment>
</SubMenu>
))}
</React.Fragment>
);
}}
</Query>
</Menu>
);
}
}