gpt4 book ai didi

typescript - 如何在 typescript + apollo 中输入突变

转载 作者:搜寻专家 更新时间:2023-10-30 20:43:55 26 4
gpt4 key购买 nike

假设我有一个看起来像这样的突变。

mutation SignInMutation($email: String!, $password: String!) {
signIn(input: {email: $email, password: $password}) {
token {
accessToken
accessTokenExpiresOn
}
}
}

我如何使用 react-apollo 中的 graphql 函数类型,然后将 signIn 方法添加到类中?

例如

import SignInMutation from '~/mutations/SignInMutation.gql`
import { graphql } from 'react-apollo'

@graphql(SignInMutation, {
props: ({ mutate }) => ({
signIn: (variables) => mutate({variables})
})
})
class SignInPage extends React.Component {
state = {
email: '',
password: '',
}
render() {
<form>
...
<button onClick={() => this.props.signIn(this.state)}>
</button>
</form>
}
}

最佳答案

有一个小型库和一个 CLI,可以使用您项目中 GraphQL 文件中的查询和变更来生成 react-apollo 组件。因此,您可以通过导入生成的文件轻松地使用它们;

import { YourQuery } from './generated';

<YourQuery.Component>
...
</YourQuery.Component>

您可以在这里尝试:https://github.com/dotansimha/graphql-code-generator

这里有一篇博文; https://medium.com/the-guild/graphql-code-generator-for-typescript-react-apollo-7b225672588f

关于typescript - 如何在 typescript + apollo 中输入突变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49436986/

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