我在状态中存储了一堆信息,我需要使用变异将其传递到我的graphQL服务器,但是在调用下一个变异之前,我需要使用每个变异的结果,因为我需要:
我注意到apollo
Mutation组件具有onCompleted回调,但是我不知道如何使用此回调来触发另一个突变,或者这是否是解决我的问题的正确方法。我还研究了批量处理突变以一次全部发送出去,但似乎也不是解决方案。任何帮助,将不胜感激
正如您已经提到的,解决该问题的唯一方法是批量处理所有突变,查看相关问题!
实际上,编写它们并不坏,您可以执行以下操作:
const handleClick = async (mutation1Fn, mutation2Fn, mutation3Fn) => {
const data1 = await mutation1Fn()
const data2 = await mutation2Fn()
const data3 = await mutation3Fn()
}
const Mutations = () => (
<Composer
components={[
<Mutation mutation={mutation1} />,
<Mutation mutation={mutation2} />,
<Mutation mutation={mutation3} />
]}
>
{([mutation1Fn, mutation2Fn, mutation3Fn]) => (
<button
onClick={() => handleClick(mutation1Fn, mutation2Fn, mutation3Fn)}
>
exec!
</button>
)}
</Composer>
)
让我知道您是否正在努力工作!
我在服务器上使用GraphQL和mongoose。 当发生验证错误时,GraphQL突变发送状态代码为200的响应。在客户端,响应如下所示: 我想使用阿波罗客户端突变promise的功能访问验证错误。类似: 如何做到这一点?
我有以下代码,我正在尝试决定如何处理错误: 服务器发回一个GraphQL错误对象,并将其发回,使其出现在突变的块中。如果变异成功,组件的数据将使用参数更新,但我看不到处理错误的等价方法。 理想情况下,我希望更新块中的Apollo缓存,但在这一点上,我甚至不能向组件或状态注入道具。 最终的结果是在Register组件上设置一个prop/state,它显示了一个带有条件呈现的错误消息组件。一种方法可以
我在两篇非常相似的帖子中回顾了解决方案:如何在React中的Apollo客户机突变组件中包装GraphQL突变,以及如何在Apollo客户机中将突变链在一起。我认为我对表单的使用给我的解决方案增加了一些额外的复杂性。虽然传递的值(competitionId)在handleOnSubmit函数中是可见的(如果我在handleOnSubmit中的createCompetition()之后进行控制台日志
在后端,我进行了调试,并收到了请求,它根据客户机上设置的令牌查找用户,但随后什么也不做,只在我试图从应用程序发送时返回给我400,在graphiql浏览器上。 我错过了什么?非常感谢。
我有一个例子,其中我有一个,它在graphql中定义了不同的实现。我可能无法共享确切的代码。但情况似乎是这样的: 有一个查询返回或类型作为响应。 响应可能包含以下内容: 或 我在客户端使用Apollo Client 3来查询数据,并有如下片段: 我查询的数据为: 由于这是的情况,正如Apollo client 3文档中所定义的,我们需要使用,以便在这种情况下匹配片段。出于缓存目的,我在Memory
我试图在使用Apollo客户端的GraphQL查询中使用动态变量。我遵循了文档,但Apollo不断给我错误,说我的变量没有定义,最终以状态代码400回应。 然后,我会为每个变量得到一条错误消息,说明它尚未定义: [GraphQL错误]:消息:变量“$ID”未定义。,位置:[object object],[object object],路径:未定义 在这些错误消息中的每一条之后,我会得到一条状态代码