我有一个类似于以下内容的组件。单击按钮后,我希望运行我的GraphQL修改。但是,到目前为止,我仍然看到错误:Error: Invalid hook call. Hooks can only be called inside of the body of a function component
。
我可以将该代码放在函数中,但是我不希望它在按钮加载后立即运行,仅当单击按钮本身时才运行。
任何帮助表示赞赏。
import React, { useCallback } from 'react';
import { useMutation } from 'react-apollo';
export default function SubscriptionButton(props) {
function useUpdateSubscription() {
const [onDeleteHandler, { data, loading, error }] = useMutation(SUBSCRIPTION_MODIFY)
if (data) {
window.location.replace(data.appSubscriptionCreate.confirmationUrl)
}
}
return (
<Button primary onClick={() => useUpdateSubscription()}>
Select
</Button>
)
}