【问题标题】:Cannot getItem from sessionStorage in ComponentWillMount?无法从 ComponentWillMount 中的 sessionStorage 获取项目?
【发布时间】:2018-09-17 19:25:52
【问题描述】:

只是想在componentWillMount 内部的sessionStorage 中提取一些数据,但我继续遇到:cannot getItem of undefined。这是它的样子:

  componentWillMount() {
    console.log(window.sessionStorage); // logs sessionStorage
    console.log(window.sessionStorage.getItem('some-key')); // errors out here
  }

编辑:这是一个屏幕截图。关键是不同的,因为我只是在示例中使用了其他东西,但错误是相同的。

这是错误:TypeError: Cannot read property "getItem" from undefined。奇怪的是,它在 componentDidMount 中工作

澄清一下:我使用window.sessionStorage 而不是sessionStorage,因为由于某种原因,如果不将其附加到window 对象,它就无法识别它。

找到一两个类似主题的other questions,但无法帮助解释为什么getItemsessionStorage 上不可用。

【问题讨论】:

  • window.sessionStorage 已定义?
  • @taha 是的,定义了所有正确的键/值对。
  • 您是否尝试过删除window. 部分并仅使用sessionStorage
  • 您是否在存储条目之前对其进行字符串化?
  • @taha 这不能解释这个错误。

标签: javascript session-storage


【解决方案1】:

将此方法添加到您的组件类(.ts 文件)中。

get sessionStorage() {
    return sessionStorage;
}

【讨论】:

    【解决方案2】:

    您可以在ComponentDidMount 中使用sessionStorage

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      • 2018-11-28
      • 2018-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多