chenshuai2144 3 years ago
parent
commit
c82145f2a6
  1. 3
      src/components/RightContent/AvatarDropdown.tsx
  2. 5
      src/pages/User/Login/index.tsx

3
src/components/RightContent/AvatarDropdown.tsx

@ -6,6 +6,7 @@ import type { ItemType } from 'antd/es/menu/hooks/useItems';
import { stringify } from 'querystring';
import type { MenuInfo } from 'rc-menu/lib/interface';
import React, { useCallback } from 'react';
import { flushSync } from 'react-dom';
import HeaderDropdown from '../HeaderDropdown';
import styles from './index.less';
@ -39,7 +40,9 @@ const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu }) => {
(event: MenuInfo) => {
const { key } = event;
if (key === 'logout') {
flushSync(() => {
setInitialState((s) => ({ ...s, currentUser: undefined }));
});
loginOut();
return;
}

5
src/pages/User/Login/index.tsx

@ -18,6 +18,7 @@ import {
import { FormattedMessage, history, SelectLang, useIntl, useModel } from '@umijs/max';
import { Alert, message, Tabs } from 'antd';
import React, { useState } from 'react';
import { flushSync } from 'react-dom';
import styles from './index.less';
const LoginMessage: React.FC<{
@ -45,10 +46,12 @@ const Login: React.FC = () => {
const fetchUserInfo = async () => {
const userInfo = await initialState?.fetchUserInfo?.();
if (userInfo) {
await setInitialState((s) => ({
flushSync(() => {
setInitialState((s) => ({
...s,
currentUser: userInfo,
}));
});
}
};

Loading…
Cancel
Save