首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Relay.Store.commitUpdate从不提交

Relay.Store.commitUpdate从不提交
EN

Stack Overflow用户
提问于 2016-11-24 03:01:41
回答 2查看 168关注 0票数 0

我最近开始在我的 function 应用程序上使用Relay,但是突变似乎从来没有提交过(我没有从成功/失败回调中获得任何日志记录),我在GraphQL实现的resolve函数中也没有在console.log中得到任何东西。

我在我的应用程序的根组件中有以下代码。实际上,我不需要在我的应用程序中显示更新后的名称,这只是为了更新DB。

代码语言:javascript
复制
class App extends Component {
    componentDidMount() {
        Relay.Store.commitUpdate(new DogMutation({name: 'Stack'}, {
            onSuccess: () => console.log("success"),
            onFailure: (transaction) => console.error(transaction)
        ))
    }
}

突变类如下所示:

代码语言:javascript
复制
export default class DogMutation extends Mutation {
    getFatQuery() {
        return Relay.QL`
            fragment on Dog {
                name
            }
        `
    }

    getMutation() {
        return Relay.QL`mutation {renameDog}`
    }

    getVariables() {
        return {
            name: this.props.name
        }
    }

    getConfigs() {
        return []
    }
}

GraphQL侧突变代码如下所示:

代码语言:javascript
复制
export const renameDog = {
    type: Dog,
    description: `Rename a dog.`,
    args: {
        input: {
            type: new GraphQLInputObjectType({
                name: `DogInput`,
                fields: {
                    name: {
                        type: GraphQLString,
                    }
                }
            })
        }
    },
    async resolve (obj, args) {
        console.log(args) <- Which never outputs
    }
}

当我打电话给Relay.Store.commitUpdate()时,我得到:

代码语言:javascript
复制
RelayMutationQueue.js:390 Optimistic query for `renameDog`
RelayMutationQueue.js:454 Mutation query for `renameDog`

在我的反应原生铬调试器。

我的密码有什么问题吗?我读过的多篇文章中可能遗漏了什么吗?我的直觉是,我直接使用Relay.Store,而不是在某个地方创建一个,并将其作为props传递,但是要知道这是它的一个全局实例。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-22 05:24:09

所以这个问题很简单,我花了很长时间才找到这个问题,直到猕猴桃在这个问题上帮助了我。

回调从未被调用,因为这些回调不属于突变的初始化,而是commitUpdate函数的第二个参数。

票数 0
EN

Stack Overflow用户

发布于 2016-11-24 05:03:18

因此,我使用了图形继电器mutationWithClientMutationId函数,它似乎实际上提交了消息,但仍然没有从突变中回调。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40777422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档