如果您为资源提供list 组件,资源会出现在侧边栏中,例如
<Resource name="posts" list={PostList} />
有一个菜单项,但
<Resource name="posts" />
才不是。这是因为没有什么可以导致的。
菜单中的顺序是<Admin> 组件中子项的顺序。如果不是你的情况,可能是因为你有动态资源(即你在第一次渲染后添加了一些资源)。在这种情况下,您应该手动构建一个菜单,如文档中所述:
// in src/MyMenu.js
import React from 'react';
import { connect } from 'react-redux';
import { MenuItemLink, getResources, Responsive } from 'react-admin';
import { withRouter } from 'react-router-dom';
const MyMenu = ({ resources, onMenuClick, logout }) => (
<div>
{resources.map(resource => (
<MenuItemLink
key={resource.name}
to={`/${resource.name}`}
primaryText={resource.options && resource.options.label || resource.name}
leftIcon={createElement(resource.icon)}
onClick={onMenuClick}
/>
))}
<MenuItemLink to="/custom-route" primaryText="Miscellaneous" onClick={onMenuClick} />
<Responsive
small={logout}
medium={null} // Pass null to render nothing on larger devices
/>
</div>
);
const mapStateToProps = state => ({
resources: getResources(state),
});
export default withRouter(connect(mapStateToProps)(MyMenu));
更多详情https://marmelab.com/react-admin/doc/2.9/Theming.html#using-a-custom-menu
注意:react-admin 2.9 已经 3 年没有维护了,我强烈建议你升级到版本 4。