React-Admin:如何通过自定义 页面

问题描述 投票:2回答:1
react-admin<Dashboard>加载到基本"/"。因此,默认情况下不会打开自定义页面,因为<Admin>始终会路由到仪表板。

我已经实现了<PrivateRoutes>以处理authentication,这是成功的。默认情况下会加载<Login>页面,并且在进行身份验证后,它会路由到仪表板。

挑战:此过程破坏了侧边栏<links>的功能,例如“用户”。

// CustomRoutes.js export default [ <Route exact path="/login" component={LoginPage} noLayout />, <Route exact path="/forgot-password" component={ForgotPassword} noLayout />, <Route exact path="/confirm-password" component={ConfirmForgotPassword} noLayout />, <PrivateRoute path="/" loggedIn={localStorage.getItem("access_token")} component={dashboard} /> ];
然后...

// PrivateRoute.js import React from "react"; import { Redirect, Route } from "react-router-dom"; const PrivateRoute = ({ path, component: Component, ...rest }) => { const isLoggedIn = localStorage.getItem("access_token"); return ( <Route path={path} {...rest} render={props => isLoggedIn ? <Component {...props} /> : <Redirect to={{ pathname: "/login", state: { from: props.location } }} /> } /> ); }; export default PrivateRoute;

这里是在主<App>中的外观>

// App.js const App = () => ( <Admin theme={myTheme} dashboard={dashboard} authProvider={authProvider} dataProvider={dataProvider} customRoutes={customRoutes} loginPage={LoginPage} logoutButton={LogoutButton} forgotPassword={ForgotPassword} > <Resource name="users" list={UserList} create={UserCreate} show={UserShow} icon={UserIcon} /> </Admin> ); export default App;

[请注意

<resource>“用户”无效。我也需要为此添加自定义路线吗?
react-admin将

装入基数“ /”。因此,默认情况下不会打开自定义页面,因为始终会路由到仪表板。我已经实现了

react-admin
1个回答
0
投票
好的,让我们逐步调试一下:
© www.soinside.com 2019 - 2024. All rights reserved.