关于泛型的疑惑
来源:11-2 完成帮助函数
luff丶
2020-12-05
老师,这段代码const store = useStore();意思是useStore这个函数要使用泛型,可是函数里的泛型不是要指定是参数或者返回结果用泛型?这段代码并没有说,那这个泛型绑在谁身上了?
写回答
1回答
-
同学你好 useStore 这个函数使用泛型(当然也可以不使用) 最终是为了将类型推论到 store 上面去的,使用以后 store.state 就可以自动获取传入的泛型的类型了。
其实实现也很简单,看下源代码你就会发现
export function useStore<S = any>(): Store<S>; export declare class Store<S> { ...很多方法 // 这个时候 state 就获得了我们传入的 S 类型啦 readonly state: S; }
012020-12-06