在以下代码中,永远不会触发checkme()
import { useMutation, useLazyQuery } from '@apollo/react-hooks';
import { LOGOUT_USER_QUERY, CURRENT_USER } from '../graphql/user';
import Cookies from 'js-cookie';
export default function Logout(props) {
const [logoutUser, { loading, error }] = useMutation(LOGOUT_USER_QUERY);
const [checkMe, { loading: meLoading, error: meError }] = useLazyQuery(CURRENT_USER);
const onLogout = async () => {
await logoutUser();
Cookies.remove('token');
checkMe();
}
return (
<div className="btn" onClick={onLogout}>{props.children}</div>
)
}
logoutUser()成功运行并返回
{"data":{"logout":{"status":"TOKEN_REVOKED","message":"Your have been logged out","__typename":"LogoutResponse"}}}
没有错误,查询永远不会发送。
我想念东西吗?
答案 0 :(得分:0)
尝试使用
checkMe({ variables: {} });
useLazyQuery
返回的方法需要一个variables
对象,即使您没有向其传递任何变量。