【发布时间】:2021-03-19 00:08:43
【问题描述】:
我需要执行一个 graphQL 查询,以便我的用户可以注销。理想情况下,他们会单击logout 按钮,然后执行查询并退出。然而,这并不容易。
到目前为止,这是我的代码:
const LOGOUT = gql`
mutation Logout {
logout
}
`;
const LogoutButton = (props) => {
const logout = () => {
useMutation<Record<string, any>>(LOGOUT);
};
return (
<button onClick={logout}>Logout</button>
)
};
我收到以下错误消息:Uncaught Error: Invalid hook call. Hooks can only be called inside of the body of a function component.
对于这样一个菜鸟问题,我很抱歉,但我被卡住了。我很感激任何建议。
【问题讨论】:
-
函数触发了吗?有错误吗?这行不通怎么办?你能给我们一些背景信息吗?
-
对不起!我刚刚用错误消息更新了问题。
-
能把整个组件的代码加进去吗?
-
您在回调函数中有一个使用钩子,这是一个很大的问题,并且肯定会引入一些错误,尽管我不确定这是否是您的问题的原因。看看
useMutation是如何工作的,但它肯定是放在你的组件中的。
标签: javascript reactjs authentication graphql react-hooks