You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

react-admin 2.0.0如何将所有管理页面挂载在/admin路径下?

解决react-admin 2.0.0中管理页面路径统一在/admin下的问题

在react-admin 2.0.0版本中,你遇到的问题是因为Admin组件内部的资源路由默认基于根路径(/)生成,没有继承你挂载Admin的/admin前缀。下面给你两种简单有效的解决方法:

方法一:给Admin组件添加basename属性

直接在Admin组件上指定basename="/admin",这样所有内部资源的路由都会自动带上这个前缀。修改后的代码如下:

<Admin 
  title="Admin" 
  dashboard={Dashboard} 
  dataProvider={restClient} 
  history={history}
  basename="/admin"
> 
  <Resource name="users" list={UserList} /> 
</Admin>

这个方法最直接,不需要修改你现有的history创建逻辑,适合已经通过外部路由(比如react-router的Route)将Admin挂载在/admin路径下的场景。

方法二:在创建history时配置basename

如果你是手动创建history对象(比如使用history库的createBrowserHistory),可以在创建时直接指定basename,这样整个Admin应用的路由都会基于这个前缀:

import { createBrowserHistory } from 'history';

// 创建带basename的history
const history = createBrowserHistory({
  basename: '/admin'
});

// 传递给Admin组件
<Admin 
  title="Admin" 
  dashboard={Dashboard} 
  dataProvider={restClient} 
  history={history}
> 
  <Resource name="users" list={UserList} /> 
</Admin>

注意事项

  • 不要同时使用外部路由的path="/admin"和Admin的basename="/admin",否则会出现/admin/admin/users这类重复前缀的错误路径。
  • 修改后,你的Admin主页面路径保持/admin,点击Users侧边栏后路径会变成/admin/users,完全符合你的需求。

内容的提问来源于stack exchange,提问作者swrobel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 06:20:07