vuex 在考虑用户刷新页面的情况下是不是并不实用? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
adajoy
V2EX    程序员

vuex 在考虑用户刷新页面的情况下是不是并不实用?

  •  
  •   adajoy 2019-06-20 09:05:11 +08:00 4150 次点击
    这是一个创建于 2304 天前的主题,其中的信息可能已经有所发展或是发生改变。
    19 条回复    2019-06-20 13:38:28 +08:00
    muxw6
        1
    muxw6  
       2019-06-20 09:06:32 +08:00   1
    vuex-persistedstate 了解一下,将 vuex 的数据存放在 sessionStorage 中
    opengps
        2
    opengps  
       2019-06-20 09:08:43 +08:00
    现在的 js 动态修改页面都怕刷新
    mmmao
        3
    mmmao  
       2019-06-20 09:09:35 +08:00
    同问
    顶一个
    OSF2E
        4
    OSF2E  
       2019-06-20 09:22:32 +08:00
    对于内容编辑一类的业务场景,恢复意外关闭的会话的功能很重要
    shino161
        5
    shino161  
       2019-06-20 09:23:43 +08:00
    不刷新页面完全可以用 WebStorage,vuex 用来做一些数据的缓存很方便吧。
    moxiaonai
        6
    moxiaonai  
       2019-06-20 09:26:01 +08:00 via Android
    1 楼正解
    icanfork
        7
    icanfork  
       2019-06-20 09:26:56 +08:00
    你这是对 VUEX 状态管理器的使用误解

    当然,你可以用 vuex-localstorage 类似的插件实现你这个需求
    woodensail
        8
    woodensail  
       2019-06-20 09:28:16 +08:00
    vuex 核心功能本来就就不是数据持久化啊。核心是统一状态管理,用来解决复杂页面数据无法管理的问题。
    TimPeake
        9
    TimPeake  
       2019-06-20 09:34:12 +08:00
    既然楼主问到了这个问题,那么基本可以判断楼主应该不太清楚 Vuex 的被设计出来的目的。甚至楼主的项目应该是不适合使用 Vuex 的,大概率是为了使用而使用。
    Vuex 的作用是组件之间传递数据的,理想的使用需求是: 组件之间传递数据复杂或者常规的方法无法解决。
    bhaltair
        10
    bhaltair  
       2019-06-20 09:37:51 +08:00
    vuex 的数据可以存放在 Storage 中
    zcFE
        11
    zcFE  
       2019-06-20 09:40:03 +08:00
    我之前也有这种疑问,一刷新就变了,难道 vuex 里的数据只能存放公用不变的数据?
    TimPeake
        12
    TimPeake  
       2019-06-20 09:42:30 +08:00
    @zcFE Vue 组件里 给 data 赋值,this.name="xxx",赋值完毕后,刷新页面,你猜 name 的值还有吗?简单理解来说,Vuex 和这个一样。
    no1xsyzy
        13
    no1xsyzy  
       2019-06-20 09:47:58 +08:00
    更偏向于一个 Redis 的功能而不是 Oracle / MySQL / SQL Server 的功能吧
    Redis 现在也能持久化了(虽然不是那么好),所以你真要用一些 localStorage 的同步实现也不是问题。
    wxsm
        14
    wxsm  
       2019-06-20 09:49:00 +08:00   1
    这个问题与 vuex 无关,vuex 也并不需要解决这个问题。正如楼上所说,只有当你对它的目的根本不了解的情况下才会提出这种问题。
    red2dog
        15
    red2dog  
       2019-06-20 09:50:29 +08:00   2
    当你需要他的时候你就会找到他,当你不需要他的时候,你就永远不知道他的使用场景。
    lauix
        16
    lauix  
       2019-06-20 09:52:39 +08:00
    求解 vuex 的应用场景在哪?
    love
        17
    love  
       2019-06-20 10:46:08 +08:00
    这哪跟哪啊,这问题问的好莫名奇妙,你的应用没有运行时状态吗
    adajoy
        18
    adajoy  
    OP
       2019-06-20 13:35:12 +08:00 via iPhone
    @TimPeake 我用 vuex 做组件间的数据共享,这些数据都是通过接口异步获取的。如果这两个组件存在于不同的路由下,并且存在逻辑上的先后顺序。如果用户不刷新页面,那么在第一个页面 dispatch 以后,第二个页面可以直接从 store 里取数据。如果用户刷新了,那就需要在这两个组件的生命周期里都去调用 dispatch 获取数据
    adajoy
        19
    adajoy  
    OP
       2019-06-20 13:38:28 +08:00 via iPhone
    @TimPeake 如果这两个组件存在于同一个路由下,A 组件去请求数据后存在了状态中,但是 B 组件在加载后需要立即获取状态中的数据做进一步操作,这个时候并不能保证 A 组件的请求已经回来了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3432 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 00:04 PVG 08:04 LAX 17:04 JFK 20:04
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86