我有一个注销用户的 thunk 操作
在注销 thunk 动作中,我有这个: dispatch(push('/login'));
我想用“刷新”重定向用户以注销以刷新页面和。“清理”国家
另外,我想清理 redux 商店,而不是它不干净
import { push } from 'connected-react-router';
export function logout() {
return async (dispatch: any, state: State, services: Services) => {
try {
await services.auth.logout();
} catch (e) {
services.logger.error(e);
} finally {
dispatch({ type: AUTH_LOGOUT });
dispatch(push('/login'));
}
};
}
当我点击组件中的按钮时
const Logout = () => {
const dispatch = useDispatch();
React.useEffect(() => {
dispatch(logout());
}, [dispatch]);
return null;
};
减速器
case AUTH_LOGOUT: {
draft.authenticated = false;
draft.currentUser = {} ;
return draft;
}