gpt4 book ai didi

reactjs - 在页面加载时触发 React Apollo 突变

转载 作者:行者123 更新时间:2023-12-04 13:41:33 26 4
gpt4 key购买 nike

我正在尝试在 react-apollo 应用程序中实现电子邮件验证系统并遇到问题。问题是当用户访问带有验证 token 的链接时,我想在页面加载时触发 GraphQL 突变。当前的突变是在单击按钮时触发的,但我希望它在页面加载时发生。

我试图从 render 返回突变但它将应用程序发送到无限循环中。

return (
<Mutation
mutation={VERIFY_EMAIL_MUTATION}
variables={{ id }}
onCompleted={() => this.setState({ userVerified: true })}
>
{(verifyEmail, { loading, error }) => {
verifyEmail();
}
</Mutation>

如何在页面加载时触发此突变?

最佳答案

使用 compose 并将其作为函数传递给您的组件。以下方法允许您传递多个更改/查询,您可以在没有和有触发器的情况下随时随地使用它们。

import React from "react";
import { compose, graphql } from "react-apollo";

import {
VERIFY_EMAIL_MUTATION
} from "../GraphqlQueries/ServerQueries";

class YourComponent extends React.Component {
componentWillMount() {
this.props.verifyEmail({variables: {email: "your_email", variable2: "variable2" }});
}

render() {
return (
<React.Fragment>
Your Render
</React.Fragment>
);
}
}

export default compose(
graphql(VERIFY_EMAIL_MUTATION, {
name: "verifyEmail"
})
)(YourComponent);

关于reactjs - 在页面加载时触发 React Apollo 突变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56373514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com