reactjs - 为什么我的本地存储在页面刷新后没有保存
问题描述
在我的反应中,我有以下代码:
useEffect(() => {
localStorage.setItem('level', level.toString())
localStorage.setItem('currentExperience', currentExperience.toString())
localStorage.setItem('challengesCompleted', challengesCompleted.toString())
}, [level, currentExperience, challengesCompleted])
我不想在页面刷新时丢失这些数据!
解决方案
每次 level、currentExperience、challengeCompleted 的值发生变化时,useEffect 都会运行。当您刷新页面时,这些变量的值 night 不是您想要的值,但 useEffect 将运行并最终将值设置到本地存储。您需要在 if 条件中设置值或将其从 useEffect 中删除来包装您的代码。
推荐阅读
- ruby-on-rails - Postgresql 允许不存在的外键
- javascript - 使用 JavaScript 添加类时,css 转换无法按预期工作
- javascript - 没有自动对焦字段,当 iframe 更改时,我的页面仍然向下滚动
- c++ - 代码片段在 C++17 下无法编译,命名空间问题?
- java - Spring Boot 应用程序 - 将 EntityExists 或 EntityNotFoundException 从服务抛出到控制器是否被认为是不好的做法?
- c - 将字符串的特定部分转换为整数
- laravel - 如何在 AWS 上更新 laravel 项目
- django - 如何使用 Docker 扩展 Heroku Django Celery 应用程序
- yocto - 构建中的内核源代码在哪里?
- html - 如何隐藏块