【发布时间】:2021-10-17 23:38:35
【问题描述】:
我的用户 ID 存储在本地存储中,我想在 getStaticProps 中访问它以获取当前用户的订阅者,但我收到 Local storage is not defined 错误。
请问有什么解决办法吗?
这是我的代码:
export async function getStaticProps() {
const userData = {
id: localStorage.getItem("user_id"),
};
const subscribersAPi = await fetch(
`url for server`
);
const result = await subscribersAPi.json();
return {
props: { data: result },
};
}
【问题讨论】:
-
window.localStorage是仅在浏览器上可用的 Web API。getStaticProps在 Node.js 环境中的服务器上(和构建时)运行,并且无权访问localStorage。 -
@juliomalves 有什么方法可以传递用户 ID 吗?
-
无法使用
getStaticProps传递特定于用户的数据。您可以考虑使用getServerSideProps和use cookies 来传递数据,而不是使用localStorage。 -
@juliomalves 好的,非常感谢