为什么会导致redux不完整

为什么会导致redux不完整

https://img1.sycdn.imooc.com//climg/6352018109056e3709480302.jpg

老师,为什么加上reload刷新页面会导致redux不完整,需要删除,这里不理解

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小李 2022-10-21 10:51:12

同学你好,解答如下:

    首先redux-persist作为存储,它会将状态保存在存储引擎中,然后在页面刷新时在存储引擎中加载。

    window.location.reload(false)它的设计理念是有缓存就走缓存,没缓存就强制刷新。如进行一同使用时。就会出现缓存被清除从而导致的不完整问题。

祝学习愉快!

  • 提问者 从此在回忆里 #1

    老师,最后一句话不太理解,缓存被清除后,页面强制刷新,为什么会导致的不完整,不太理解导致redux哪部分的不完整

    2022-10-21 11:11:15
  • 同学你好,参考如下:

    1、redux-persist实现数据持久化依靠的是localstorage。

    https://img1.sycdn.imooc.com//climg/6352151d09721cc709970267.jpg

    https://img1.sycdn.imooc.com//climg/635215550982e4aa08070085.jpg

    2、window.location.reload(false) 也与缓存(localstorage)有关。

    3、在onLogout执行时,dispatch(userSlice.actions.logOut)还没有进行变更时,window.loaction.reload(false)就会执行,那么也就是说userSlice.actions.logOut的相关动作赋值退出的相关操作还没有执行完整。以上动作window.loaction.reload(false)并没有等待,页面直接刷新此时localstorage中的登录态也未改变,所以大概率会导致不完整的情况发生。

    祝学习愉快!

    2022-10-21 12:19:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师