next.js “refetchQueries”在生产环境中不工作的问题

np8igboo  于 2023-06-29  发布在  其他
关注(0)|答案(1)|浏览(136)

我在我的Next.js应用程序中遇到了一个“refetchQueries”问题。在开发模式下,它按预期工作,但在生产模式下,它停止工作。
以下是一些背景信息:我有一个Next.js项目和一个使用Apollo Server的API。在Next.js应用程序中,我使用Apollo客户端进行查询和变更。当我进行一个变异时,我使用“refetchQueries”重新获取一个特定的查询来更新数据。这在开发模式下工作得很好,但当我部署到生产环境时,有时它会重新获取查询,有时则不会。
这是其中一个正在失败的突变

const [createEventMutation, { loading: isCreatingEventMutation }] = useMutation(
  EVENT_CREATE,
  { refetchQueries: ["EVENTS", "EVENT"] }
);

在变化之后,我重定向到一个页面,在那里我显示了所有的事件,所以显示新创建的事件很重要。
我检查了网络日志,没有发现任何错误或超时。
有没有人遇到过类似的问题,“refetchQueries”在生产模式下无法按预期工作?有什么建议可能导致这个问题或如何调试它?
提前感谢!

ktca8awb

ktca8awb1#

我曾经面对过这个问题。在我的例子中,我重新获取了两个查询。在生产环境中,只有一个查询被重新获取,另一个查询没有触发。它在开发中运行良好。
我在网站上有两个标签,标签1调用查询,标签2进行突变并重新获取查询。
当我转到选项卡2时,似乎查询和它们的变量超出了范围,并且在变异后不会重新获取。我必须在重新获取时传递variables沿着query。与tab-1中使用的变量相同。
只有这样,才能在tab-2中重新获取。
希望我能帮上忙。

相关问题