【发布时间】:2022-01-02 14:51:42
【问题描述】:
我正在使用下一个 js 并尝试获取 cookie 值,这是我的代码:
import cookie from "js-cookie";
export default function Home({ token }) {
return (
<div className="flex flex-col items-center bg-reddit-dark py-2 text-white">
{/* setting cookie */}
<button
onClick={() => {
cookie.set("token", "ABCD");
}}
>
login
</button>
{/* removing cookie */}
<button
onClick={() => {
cookie.remove("token");
}}
>
logout
</button>
<h1>token: {token}</h1>
</div>
);
}
export const getServerSideProps = async ({ req, res }) => {
const res = await fetch(`http://localhost:5000/api/posts/`);
const posts = await res.json();
return {
props: {
token: req.cookies.token,
posts,
},
};
};
所以我可以很好地获取和删除 cookie,但是当我尝试使用 getServerSideProps() 函数获取 cookie 的值时,它返回未定义,我已经从浏览器中清除了 cookie,但仍然没有工作,我看了无数次解决方案并复制它,但它也不起作用。
更新我在 _app.js 中调用了这个组件,现在我在每个单独的页面中都调用了它,所以我还有什么可以做的吗
【问题讨论】:
-
如果您点击设置
tokencookie 的按钮然后重新加载页面,您在h1中看不到正确的值吗? -
不,我没有看到
token的值,它返回 undefined
标签: javascript reactjs cookies next.js