我遇到了 React/Apollo/AppSync 的问题,突变触发了两次(或更多)。我有一个 React 应用程序,它具有由通常的 UI 按钮 onClick 触发的更新突变。
<button className={`btn btn-sm`} onClick={(event) => { that.toggleSubscription(event, subscriptionid, serviceid, status); }}>
<i className={`fas ${icon} fa-fw`} />
{title}
</button>
toggleSubscription 函数如下所示:
toggleSubscription = async (event, subscriptionid, serviceid, currentStatus) => {
event.preventDefault();
event.stopPropagation();
if (currentStatus === "mandatory") return;
console.log(serviceid);
await this.props.toggleSubscription(this.props.match.params.id, serviceid);
}
还有有问题的 graphql 突变(尽管这似乎发生在所有突变上)。这是在出口声明中:
export default compose(
graphql(
MutationToggleSubscription,
{
props: ({ ownProps, mutate }) => ({
toggleSubscription: (personid, serviceid) => mutate({
variables: { personid: personid, serviceid: serviceid }
})
}),
}
),
...
显示对 GraphQL 服务器的多个同时调用 这些调用几乎相同,但还有一些额外的堆栈跟踪调用: 这两个请求几乎相同。红色突出显示的调用似乎是两者之间的区别
任何帮助将不胜感激!