node.js - 为什么反应管理员登录页面只显示一秒钟?
问题描述
我用反应管理员建立了一个网站。现在我想从 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;
解决方案
推荐阅读
- bash - Bindsym 不执行 i3wm 命令
- https - ESP8266 通过 HTTPS 从 GET 请求中跳过一些数据
- node.js - 让 node.js 使用系统时区
- logstash - 如何正确使用 NiFi ExtractGrok
- regex - 有没有办法扩展正则表达式范围以将字符包含到上一个/下一个空间?
- c++ - 使用作为参数返回的指针的最佳实践是什么
- cloudera - SQLAlchemy Cloudera impala 到 Superset 连接 URL
- sql-server - 如何将多个数字复制并粘贴到 INSERT INTO 语句的列中
- r - R 获取折叠计数 - ctable 和 table 没有给我我想要的东西
- javascript - 如何从响应头内容配置中获取文件名以使用 Anulgar 8 下载?