Javascript 无法从ComponentWillMount中的sessionStorage获取项?
只是想在Javascript 无法从ComponentWillMount中的sessionStorage获取项?,javascript,session-storage,Javascript,Session Storage,只是想在组件内部的会话存储中提取一些数据,但我继续遇到:无法获取未定义的项目。下面是它的样子: componentWillMount() { console.log(window.sessionStorage); // logs sessionStorage console.log(window.sessionStorage.getItem('some-key')); // errors out here } 编辑:这是一个截图。键是不同的,因为我只是使用了其他的东西作
组件内部的会话存储
中提取一些数据,但我继续遇到:无法获取未定义的项目
。下面是它的样子:
componentWillMount() {
console.log(window.sessionStorage); // logs sessionStorage
console.log(window.sessionStorage.getItem('some-key')); // errors out here
}
编辑:这是一个截图。键是不同的,因为我只是使用了其他的东西作为示例,但错误是相同的
错误如下:TypeError:无法从未定义的
读取属性“getItem”。奇怪的是,它在componentDidMount中工作
澄清一下:我使用的是window.sessionStorage
而不是sessionStorage
,因为出于某种原因,如果不将它附加到window
对象中,它就无法识别它
在类似主题中找到一个或两个,但无法解释为什么会话存储中没有getItem
您可以在ComponentDidMount
中使用sessionStorage
将此方法添加到组件类(.ts文件)
window.sessionStorage
已定义?@taha是的,找到了所有正确的键/值对。您是否尝试删除窗口。
部分并仅使用sessionStorage
?是否在存储条目之前对其进行字符串化?@taha这不会解释此错误。
get sessionStorage() {
return sessionStorage;
}