以及,在 Vue 组件以外的地方访问 store 的标准姿势是什么?
1
mxT52CRuqR6o5 2021-11-30 17:47:40 +08:00
大部分情况下应该是没区别的,一般都是用 useStore 吧
如果一个页面的某个组件有多个 vue 实例,又 provide 了不同的 store 时就会有区别 |
2
mxT52CRuqR6o5 2021-11-30 17:50:57 +08:00
想了一下好像不太对,不 useStore 有可能会导致不能 Reactive (不是很确定)
|
3
wxsm 2021-11-30 18:36:03 +08:00
https://next.vuex.vuejs.org/zh/guide/typescript-support.html
useStore 主要是为了解决 TypeScript 的类型问题。 > 不 useStore 有可能会导致不能 Reactive (不是很确定) 这个问题是不存在的。因为即使 useStore 也没有 reactive ,需要结合 computed 使用。 |
4
lujjjh 2021-11-30 18:38:42 +08:00 1
没有用过 Vuex ,但是猜测后者在 SSR 的时候会有问题,毕竟不可能让所有用户共享同一个 store 实例。
|
5
mxT52CRuqR6o5 2021-12-01 10:44:20 +08:00 1
@wxsm
不应该啊,不能 reactive 那这 vuex 有啥用 |
6
guyskk0x0 2021-12-05 18:24:12 +08:00
同问,刚在 Vuex discusstions 提了这个问题,可以关注一下 https://github.com/vuejs/rfcs/discussions/270#discussioncomment-1751815
|
9
guyskk0x0 2021-12-07 11:57:03 +08:00
@shintendo #7 用了 SSR 应该也没事,Vue SSR 有 runInContext 选项,只是渲染比较慢。我还想到个优化方案,欢迎探讨: https://github.com/harttle/harttle.github.io/issues/160
|