如文档中所述,您可以使用Menu
prop将Admin
组件提供给menu
组件。见https://marmelab.com/react-admin/Admin.html#menu
请注意,这个道具将很快被弃用,以支持appLayout
,但无论如何你仍然会在自定义布局中使用这个自定义菜单。
// in src/Menu.js
import React from 'react';
import { connect } from 'react-redux';
import { MenuItemLink, getResources } from 'react-admin';
import { withRouter } from 'react-router-dom';
import Responsive from '../layout/Responsive';
const Menu = ({ resources, onMenuClick, logout }) => (
<div>
{resources
.filter(resource => resource.name !== 'excluded-resource')
.map(resource => (
<MenuItemLink to={`/${resource.name}`} primaryText={resource.name} onClick={onMenuClick} />
))
}
<Responsive
small={logout}
medium={null} // Pass null to render nothing on larger devices
/>
</div>
);
const mapStateToProps = state => ({
// Rerieve all known resources
resources: getResources(state),
});
export default withRouter(connect(mapStateToProps)(Menu));
如果要在侧栏菜单中隐藏它,可以省略资源的列表道具。
<Resource name="posts" />