我有一个配置文件屏幕,它基于cookie呈现。当cookie不存在或无效时,它会呈现登录链接。然后当用户登录并返回配置文件页面时,它还会呈现登录链接,直到用户刷新页面。
我的理解告诉我,浏览器正在缓存页面。
那么我如何才能禁用此页面被缓存在浏览器中?
这是我的代码
👇👇👇👇👇👇👇👇👇
import Link from 'next/link';
import { cookies } from 'next/headers';
import getTokenData from '@/helper/token';
const ProfilePage = ({ params }) => {
const incomingToken = cookies()?.get('token')?.value;
const tokenDecode = getTokenData(incomingToken);
if (tokenDecode.success && tokenDecode?.data?.isAdmin) {
return (
<Frame>
// some component
</Frame>
);
}
if (tokenDecode.success) {
return (
<Frame>
// some component
</Frame>
);
}
return (
<Frame>
// some component
</Frame>
);
};
字符串
2条答案
按热度按时间emeijp431#
如果在刷新页面时问题解决了,也许你可以在登录后使用location.reload()(JavaScript)刷新页面。我不知道这对你是否有用。
c9qzyr3d2#
在
const tokenDecode = getTokenData(incomingToken);
API调用中,如果您使用的是fetch,则可以通过在url后添加{ cache: 'no-store' }
来禁用缓存参考:在接下来的13个应用程序路由器中选择退出缓存