如何使用#react-admin 创建一个自定义页面,而没有像登录页面这样的菜单侧边栏?

Posted

技术标签:

【中文标题】如何使用#react-admin 创建一个自定义页面,而没有像登录页面这样的菜单侧边栏?【英文标题】:How can I create a custom page with #react-admin without the menu sidebar like login page? 【发布时间】:2018-12-18 11:04:10 【问题描述】:

我之前使用的是 react-admin admin-on-rest。我想创建一个不显示菜单侧边栏的自定义页面,例如登录页面。我将使用此页面重置用户密码。我怎样才能做到这一点?

【问题讨论】:

marmelab.com/react-admin/Admin.html#applayout 我不想改变我所有的 Layout 。我只想创建一个不在 react-admin 布局中的页面 您可以使用自定义菜单实现此目的。 感谢您的回答。我已经有一个自定义菜单。我只想有一个类似登录页面的页面来重置用户密码。 【参考方案1】:

这在documentation 中并不明显,但Route 实际上接受noLayout 属性:

<Admin
    customRoutes=[
        <Route
            path="/custom"
            component=CustomRouteNoLayout
            noLayout
        />,
        <Route
            path="/custom2"
            component=CustomRouteWithLayout
        />,
    ]
>

【讨论】:

【参考方案2】:

为您要渲染的组件添加custom route。当路由成功时,将显示指定的组件。没有Menu 将显示您作为道具发送给Route 的组件中的任何内容。

您提出问题的方式似乎是您试图在Menu 中拥有一个没有MenuItemLink 的自定义页面。必须重新阅读问题才能了解您想要什么。

【讨论】:

【参考方案3】:

我想补充一下 Gildas Garcia 的回答。如文档所示添加自定义路由后,您需要在路由 url 前面添加一个哈希 # 才能查看内容。 例如,如果您在 localhost:3000/ 显示视图,并且您的路线之一是

<Route exact path="/foo" component=Foo />,

那你应该去localhost:3000/#/foo查看内容。

【讨论】:

如果有人知道如何去除网址中的哈希#,请告诉我! 这取决于您使用的路由器历史记录。您可以将自己的传递给 react-admin

以上是关于如何使用#react-admin 创建一个自定义页面,而没有像登录页面这样的菜单侧边栏?的主要内容,如果未能解决你的问题,请参考以下文章

React-Admin 在 SelectInput 中将值更改为自定义值

无法在 react-admin 中自定义用户菜单

react-admin登录传奇没有运行

QwtPlot - 如何自定义页脚?

事件日志如何创建自定义报表

如何将自定义页脚添加到 Liferay DocumentConversionUtil(和开放式办公室)创建的 pdf