为什么反应管理员登录页面只显示一秒钟?

问题描述

我用 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 (将#修改为@)