我用了 “localStorage.setItem”,为什么刷新页面的时候,建好的 ToDoList 还是会消失?
Closed this issue · 3 comments
linghuccc commented
coderprepares commented
useEffect重复执行导致的 参见下面文章
https://juejin.cn/post/7125048592493969444
需要去debug代码的执行顺序和逻辑 调整代码来适配
linghuccc commented
通过更改第二个 useEffect 中的 localStorage.setItem 逻辑解决
linghuccc commented
useEffect重复执行导致的 参见下面文章 https://juejin.cn/post/7125048592493969444 需要去debug代码的执行顺序和逻辑 调整代码来适配
谢谢!我刚搞明白,确实,你给的 link 中的链接,是很重要的原因,还有一半的原因是
useEffect(() => {
localStorage.setItem('todos', JSON.stringify(todos))
}, [todos])
在页面加载的时候,也会执行(我以为只在 todos 变化的时候,才会执行),这两个因素,少了哪个,都不会出现 bug,但可惜。。。