在离子中使用本地存储时出现问题

时间:2019-01-24 11:41:54

标签: ionic-framework

我正在尝试做的事情- 我在调用函数时(再次)在本地存储中设置了一些键(它们在我的应用程序的其他位置设置,即Login)值对。 类似于重设密码。 而且它工作正常,只是问题在于,如果在同一页面上重置这些项目后我访问这些项目,则显示未定义。但是当我再次登录时,这些值会更改并显示最新值。

我还尝试在android设备以及离子服务和离子实验室中运行。它从未成功。

store.query

}

1 个答案:

答案 0 :(得分:0)

从您的问题中,您试图说,即使更新了import Amplify from 'aws-amplify'; import aws_exports from './aws-exports'; import { withAuthenticator } from 'aws-amplify-react'; Amplify.configure(aws_exports); 之后,您仍在获得旧值或localstorage。 因此,您返回的数据可能为null或为空。您必须仔细调试应用程序,因为undefined的工作方式不同。做控制台测试。

也在这段代码中:

localstorage

您不必删除不必要的项目,只需设置if (this.editStatus.status == "success") { localStorage.removeItem("userName"); localStorage.removeItem("userEmail"); localStorage.removeItem("userMobile"); localStorage.removeItem("userAvatar"); localStorage.removeItem("userLanguage"); localStorage.setItem("userName",this.editStatus.Profile.fullName); localStorage.setItem("userEmail",this.editStatus.Profile.emailAddress); localStorage.setItem("userMobile",this.editStatus.Profile.mobile); localStorage.setItem("userAvatar",this.editStatus.Profile.avatar); localStorage.setItem("userLanguage",this.editStatus.Profile.languagePreference); this.showToast('top'); this.navCtrl.push("DashBoardPage"); } ,旧值将被新值替换。

希望这对您有所帮助。谢谢!