问题描述
我用 react admin 建立了一个网站。现在我想添加来自 react admin 的基本登录页面。
为此,我添加了简单的 authProvider
,它传递所有用户名和密码组合。但是现在当我点击注销按钮时登录页面只显示一秒钟,然后网站总是跳回仪表板。
我尝试了很多,但找不到错误。 也许有人知道它可能是什么或以前遇到过同样的问题? 这是我来自 App.js 的代码片段:
function App() {
return(
<Admin
dashboard={Dashboard}
authProdiver={authProvider}
dataProvider={dataProvider}
customroutes={customroutes}
theme={theme}
layout={MyLayout}
>
<Resource
...
/>
...
</Admin>
);
}
export default App;
我添加了教程中的基本 authProvider
:
const authProvider = {
// authentication
login: ({ username }) => {
localStorage.setItem('username',username);
// accept all username/password combinations
return Promise.resolve();
},logout: () => {
localStorage.removeItem('username');
return Promise.resolve();
},checkerror: () => Promise.resolve(),checkAuth: () =>
localStorage.getItem('username') ? Promise.resolve() : Promise.reject(),getPermissions: () => Promise.reject('UnkNown method'),};
export default authProvider;
我自己的布局是:
MyLayout.js:
import React from 'react';
import TreeMenu from '@bb-tech/ra-treemenu';
import { Layout } from 'react-admin';
import MyAppBar from './MyAppBar';
import { ProfileProvider } from './MyProfile/Profile.js';
const MyLayout = (props) => (
<ProfileProvider>
<Layout {...props} appBar={MyAppBar} menu={TreeMenu} />
</ProfileProvider>
);
export default MyLayout;
MyAppBar.js:
import React from "react";
import { AppBar } from "react-admin";
import MyUserMenu from "./MyUserMenu";
const MyAppBar = props =>
<AppBar {...props}
userMenu={<MyUserMenu />}
/>;
export default MyAppBar;
MyUserMenu.js:
import React from 'react';
import { UserMenu,MenuItemLink} from 'react-admin';
import SettingsIcon from '@material-ui/icons/Settings';
const MyUserMenu = (props) => {
return (
<UserMenu {...props}>
<MenuItemLink
to="/my-profile"
primaryText="Mein Profil"
leftIcon={<SettingsIcon />}
/>
</UserMenu>
);
};
export default MyUserMenu;
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)