我想使用本地存储来保存令牌并访问它,

我的代码如下所示:

if (typeof window !== 'undefined') {
    localStorage.setItem(key,value)
}

如果我不使用判断窗口类型的部件,我会收到错误:

未定义本地存储

但这似乎导致了文档中提到的错误here,可以通过删除窗口判断类型来修复该错误,因为这似乎会在我刷新页面时导致水合错误,即:

消隐失败,因为初始用户界面与服务器上呈现的用户界面不匹配.

你知道该在这里做什么吗?

推荐答案

try 在useEffect()内访问localStorage:

useEffect(() => {
  localStorage.setItem(key, value);
}, []);

Typescript相关问答推荐

替换类型脚本类型中的多个特定字符串

脉轮ui打字脚本强制执行图标按钮的咏叹调标签-如何关闭

如何基于对象关键字派生类型?

React-Native运行方法通过监听另一个状态来更新一个状态

处理API响应中的日期对象

参数类型undefined不能分配给参数类型字符串|未定义

在类型内部使用泛型类型时,不能使用其他字符串索引

无法正确推断嵌套泛型?

类型脚本满足将布尔类型转换为文字.这正常吗?

在对象中将缺省值设置为空值

如何通过TypeScrip中的函数防止映射类型中未能通过复杂推理的any值

在组件卸载时try 使用useEffect清除状态时发生冲突.react +打字

为什么我的函数arg得到类型为Never?

在单独的组件中定义React Router路由

三重融合视角与正交阵

如何在Type脚本中创建一个只接受两个对象之间具有相同值类型的键的接口?

来自枚举的<;复选框和组件列表

我可以使用JsDocs来澄清Typescript实用程序类型吗?

如何将对象的字符串文字属性用作同一对象中的键类型

显式推断对象为只读