我需要一个注销按钮,但是不需要登录页面。因此在react-admin文档https://marmelab.com/react-admin/Admin.html#loginpage中说,对于没有登录路径,loginPage={false}
。当您这样做时,整个文档就消失了。
您可以在此处查看示例:https://marmelab.com/react-admin/Authentication.html#customizing-the-login-and-logout-components
// MyLogoutButton.js
import React, { forwardRef } from 'react';
import { useLogout } from 'react-admin';
import MenuItem from '@material-ui/core/MenuItem';
import ExitIcon from '@material-ui/icons/PowerSettingsNew';
const MyLogoutButton = forwardRef((props, ref) => {
const logout = useLogout();
const handleClick = () => logout();
return (
<MenuItem
onClick={handleClick}
ref={ref}
>
<ExitIcon /> Logout
</MenuItem>
);
});
export default MyLogoutButton;
您需要先指定一个authProvider。一旦有了authProvider,注销按钮将自动出现。
您可以执行以下操作:
const App = () => (
<Admin loginPage={false} authProvider={authProvider}>
...
</Admin>
);