我试图将我的React.js应用程序的变量存储在localStorage中,以便当用户在不同页面之间切换时,该应用程序只是检查localStorage中是否存在给定uuid的条目,然后加载先前状态或初始化变量(this.props.id从父组件传递过来,并有助于在本地内存中标识此特定组件及其变量)。此代码位于我的组件的构造函数中。 :
if (localStorage.getItem('Value-' + this.props.id) === null) {
localStorage.setItem('Value-' + this.props.id, JSON.stringify(initialValue);
} else {
initialValue = JSON.parse(localStorage.getItem('Value-' + this.props.id)))
}
一切正常,将变量初始化并存储到localStorage中。然后,我通过
更改变量内容。localStorage.setItem('Value-' + this.props.id, JSON.stringify(ModifiedValue);
,然后再次检查localStorage表明那些更改已正确反映在本地内存中。
但是,如果我随后在页面之间切换并返回到有问题的页面,则localStorage.getItem('Value-'+ this.props.id)返回null。尽管我在代码中稍作休息并检查localStorage时,它表明存在相关条目,并且if语句不应为null。
有什么想法为什么会这样?我知道以这种方式将我的变量存储在localStorage中可能并不理想,但是无法更改atm。谢谢