Next.js中的读取函数在创建或删除操作后不返回更新的数据

ecfsfe2w  于 2023-06-22  发布在  其他
关注(0)|答案(1)|浏览(137)

我已经在app文件夹中使用Next.js13开发了一个待办列表应用程序。我使用Next.js编写了客户端和服务器端代码。我可以使用读取、创建、删除功能创建、删除和查看todos。我不需要添加更新功能。我用MongoDB存储todos。
我在Vercel上部署了应用程序,地址为**https://next-todolist-app.vercel.app/
但是,有一个问题。当我在本地运行该项目时,创建、删除和读取函数工作正常。但是当我将项目部署到Vercel时,只有create和delete函数起作用。
当我在输入字段中输入todo的文本并单击create按钮时,屏幕上什么也没有显示。但是,当我打开浏览器的
dev tools**并检查network选项卡时,我可以看到create函数成功执行,todo保存在数据库中。相同的情况适用于delete函数,但我不能说相同的情况适用于read函数。
read函数在每次删除和创建操作后运行,但它总是返回相同的数据,没有任何错误。它会继续返回相同的数据,直到我重新生成项目。
我使用了Next.js的fetch函数专门提供的{ cache: "no-store" }选项用于读取操作,但它没有帮助。
我一直在努力解决这个问题几天,但我还没有找到一个解决方案。
有人有主意吗?
我希望read函数返回最近的数据。
回购:https://github.com/aliblackeye/next-todo-app

omtl5h9j

omtl5h9j1#

UPDATE:新增了“export const revalidate = 0;“到route.ts文件,我在那里编写了我的列表服务,问题就解决了。

产品编号:https://github.com/aliblackeye/next-todo-app/blob/master/app/api/todos/read/route.ts#LL1

相关问题