首页 > 解决方案 > 为什么我的本地存储在页面刷新后没有保存

问题描述

在我的反应中,我有以下代码:

useEffect(() => {
        localStorage.setItem('level', level.toString())
        localStorage.setItem('currentExperience', currentExperience.toString())
        localStorage.setItem('challengesCompleted', challengesCompleted.toString())
    }, [level, currentExperience, challengesCompleted])

我不想在页面刷新时丢失这些数据!

标签: reactjslocal-storageuse-effect

解决方案


每次 level、currentExperience、challengeCompleted 的值发生变化时,useEffect 都会运行。当您刷新页面时,这些变量的值 night 不是您想要的值,但 useEffect 将运行并最终将值设置到本地存储。您需要在 if 条件中设置值或将其从 useEffect 中删除来包装您的代码。


推荐阅读