我已经在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
1条答案
按热度按时间omtl5h9j1#
UPDATE:新增了“export const revalidate = 0;“到route.ts文件,我在那里编写了我的列表服务,问题就解决了。
产品编号:https://github.com/aliblackeye/next-todo-app/blob/master/app/api/todos/read/route.ts#LL1