import { useLogout } from 'authsafe-react';
function LogoutButton() {
const { logout } = useLogout();
return (
<button onClick={logout}>
Logout
</button>
);
}| Property | Type | Description |
|---|---|---|
logout | () => Promise<void> | Async function to sign out the current user |
isLoading | boolean | Indicates if the logout process is in progress |
error | Error | null | Any error that occurred during logout |
import { useLogout } from 'authsafe-react';
import { useNavigate } from 'react-router-dom';
function LogoutButton() {
const { logout, isLoading } = useLogout();
const navigate = useNavigate();
const handleLogout = async () => {
await logout();
// Redirect to home page after logout
navigate('/');
};
return (
<button onClick={handleLogout} disabled={isLoading}>
{isLoading ? 'Logging out...' : 'Logout'}
</button>
);
}import { useLogout, useAuth } from 'authsafe-react';
function UserMenu() {
const { user } = useAuth();
const { logout, isLoading, error } = useLogout();
if (error) {
console.error('Logout error:', error);
}
return (
<div>
<p>Welcome, {user?.name}</p>
<button onClick={logout} disabled={isLoading}>
{isLoading ? 'Logging out...' : 'Logout'}
</button>
</div>
);
}interface UseLogoutReturn {
logout: () => Promise<void>;
isLoading: boolean;
error: Error | null;
}