Javascript 如何将按钮上的多个onClick事件包装在React中的GraphQL变异组件中
我的React应用程序中有以下突变组件: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}>
<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);
}