reactjs - 是否有任何替代方法可以避免在服务器端下一个 js 上未定义 localStorage 这个错误?
问题描述
export const getServerSideProps = wrapper.getServerSideProps(async (ctx) => {
const access_token = cookies(ctx).access_token;
await ctx.store.dispatch(getData(access_token));
if (localStorage){
localStorage.setItem("token", "1234");
console.log(localStorage.getItem("token"));
}
});
此行未定义 localStorage
if (localStorage){}
解决方案
将您的令牌存储为 Cookie 而不是 LocalStorage。
document.cookie = "username=John Doe; expires=Thu, 30 Jan 2021 12:00:00 UTC; path=/";
并从“req.headers.cookie”访问 getInitialProps 或服务器端方法
推荐阅读
- amazon-s3 - Terraform S3 多个未知数量的生命周期规则
- excel - Excel Vba to Word:如何将页码写入文本框?
- mysql - 无法连接 Oracle 数据库并出现无效/密码错误 ORO-01017
- spring - 使用 em.persistFlushFind() 和 repo.save() 进行 Spring Boot @DataJpaTest 存储库测试
- c# - 询问。从对象数 > n 的表中选择
- java - 如何在使用 Axon 框架时模拟 Spring Boot 存储库
- tensorflow.js - 如何使用 TensorflowJS 将网络摄像头图像转换为灰度?
- python-2.7 - 在 Python 中使用底图绘制时的无组织子图
- java - vertx 服务中的正则表达式替换
- resteasy - Wildfly Resteasy 随机请求需要很长时间