Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将按钮上的多个onClick事件包装在React中的GraphQL变异组件中_Javascript_Reactjs_Graphql - Fatal编程技术网

Javascript 如何将按钮上的多个onClick事件包装在React中的GraphQL变异组件中

Javascript 如何将按钮上的多个onClick事件包装在React中的GraphQL变异组件中,javascript,reactjs,graphql,Javascript,Reactjs,Graphql,我的React应用程序中有以下突变组件: <Mutation mutation={REF_REQUEST_MUTATION} variables={{ fullname, email, relationship, position, message }} > {refRequestMutation => ( <Button onClick={refRequestMutation}>

我的React应用程序中有以下突变组件:

   <Mutation
        mutation={REF_REQUEST_MUTATION}
        variables={{ fullname, email, relationship, position, message }}
      >
        {refRequestMutation => (
          <Button onClick={refRequestMutation}>Send</Button>
        )}
   </Mutation>
这是我添加到按钮中的onClick事件,用于关闭模式

<Button onClick={this.closeModal.bind(this, "modal3")}> Close </Button>
关闭
我的主要问题是如何将第二个onClick事件添加到包装在突变组件中的按钮中。我尝试了创建一个处理这两个问题的附加方法,并且尝试了向同一个按钮添加另一个onClick事件

两者都不起作用。我对在React应用程序中使用graphQL还相当陌生,因此我不确定如何更改变体的语法


提前谢谢

创建一个处理这两者的附加方法应该可以工作。诀窍是将refRequestMutation回调传递给事件处理程序(我更喜欢从工厂函数创建和返回处理程序,但您也可以使用bind,就像您在其他地方所做的那样):


谢谢,这解决了我的问题!我只需要在onClick中添加“this”。onClick={this.handlemutate.bind(this,“modal3”,refRequestMutation)}
<Button onClick={this.closeModal.bind(this, "modal3")}> Close </Button>
    <Mutation
        mutation={REF_REQUEST_MUTATION}
        variables={{ fullname, email, relationship, position, message }}
      >
        {refRequestMutation => (
          <Button onClick={this.handleMutation.bind(this, "modal3", refRequestMutation)}>Send</Button>
        )}
    </Mutation>
    handleMutation (modal, mutationCallback, e) {
        this.closeModal(modal);
        mutationCallback(e);
    }