React-如何在按钮onClick中使用钩子

问题描述

我有一个类似于以下内容的组件。单击按钮后,我希望运行我的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>
    )
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)