无法通过localStorage.getItem(...)调用JSON.parse

时间:2018-10-09 10:29:56

标签: flowtype

只需将Flow类型添加到我正在处理的项目中,然后逐步添加类型,直到出现此错误:

  

无法使用绑定到文本的localStorage.getItem(...)调用JSON.parse,因为null或未定义[1]与   字符串[2]

这来自一个表达式:

const myVar = JSON.parse(localStorage.getItem('itemName'))

我了解为什么会收到此错误(可能是 “绑定到文本” 部分),但找不到解决方法。非常感谢您的帮助!

1 个答案:

答案 0 :(得分:5)

因此,函数localStorage.getItem可以返回null值,并且流程希望您在解析之前解决它们。由于JSON.parse只需要一个字符串,因此您可以执行以下操作:

localStorage.getItem("key") || '{}'

因此,如果它返回null。选择了空对象字符串,JSON.parse可以将其解析为空对象。