首页 > 解决方案 > 未捕获的类型错误:无法读取 null 的属性“标题”-本地存储

问题描述

我正在创建一个简单的博客应用程序,它允许用户创建带有标题和博客文章的博客。在我刷新并抓取存储在本地存储中的项目之前,我的应用程序可以 100% 正常运行。例如,在我发布博客后,我可以单击编辑图标对帖子进行调整并在 UI 中进行更新。只要我不刷新页面……这 100% 的时间都有效。刷新后,我的应用程序看起来非常好,并且之前添加的博客文章确实会从 LS 显示到我的 UI 但是,我无法再单击编辑图标,并且出现“无法读取...的属性”错误. 我对我正确使用 JSON.stringify 和 JSON.parse 感到肯定。对 LS 来说还算新鲜。任何帮助将不胜感激!

这就是我存储物品的方式

storeItem: function (item) {
  let items;
  // Check if any items exist in LS 
  if (localStorage.getItem('items') === null) {
    items = [];
    // Push new item 
    items.push(item);
    // Set LS 
    localStorage.setItem('items', JSON.stringify(items));
  } else {
    // Get existing items in LS 
    items = JSON.parse(localStorage.getItem('items'));

    // Push new item 
    items.push(item);

    // Reset LS 
    localStorage.setItem('items', JSON.stringify(items));
  }
},

这是从 LS 取回我的物品

    getItemsFromStorage: function () {
  let items;
  if (localStorage.getItem('items') === null) {
    items = [];
  } else {
    items = JSON.parse(localStorage.getItem('items'));
  }
  return items;

}

标签: javascriptlocal-storage

解决方案


推荐阅读