请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

导入key什么意思??

视频中

import type { InjectionKey } from 'vue'
export const key: InjectionKey<Store<State>> = Symbol()
这两段代码什么意思,怎么<Store<State>>泛型里面套泛型,这什么意思,没明白,老师能详细的讲解一下吗
<Store<State>>这是什么意思

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

1回答

西门老舅 2023-11-14 16:53:45

你好,State是类型,所以可以当泛型用,Store也是类型,所以也可以当泛型用。就像函数套函数。

foo(bar(baz()))

这里先执行Store<State>,结果再进行InjectionKey<上一步的结果>

这里的含义是:我们产生一个独一无二的key,而这个key是需要符合State的,这样在使用这个key的时候,就会有类型限制,只能跟指定的store进行配合调用,store也会用到State类型。

0 回复 有任何疑惑可以回复我~
  • 提问者 小雨点3545254 #1
    没有太明白这两段代码什么意思?
    回复 有任何疑惑可以回复我~ 2023-11-14 17:20:14
  • 西门老舅 回复 提问者 小雨点3545254 #2
    首先vuex的使用是比较复杂的,并不是直接定义完方法就可以使用的,而是需要通过useStore()进行调用,这就给了TS跟Vuex配合增加了难度,所以TS不得不通过设置一个key来间接的让Vuex能够得到TS的支持,这就是这个key的意义。而另一个状态管理库Pinia就比较好的跟TS配合,因为Pinia是直接调用的。
    回复 有任何疑惑可以回复我~ 2023-11-15 08:49:32
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号