老师请问这句是什么意思
来源:9-6 【reducer管理】combineReducers

北风一叶
2021-02-26
老师以下代码:
type Props = WithTranslation &
ReturnType<typeof mapStateToProps> &
ReturnType<typeof mapDispatchToProps>;
这一句是什么意思呢:ReturnType<typeof mapStateToProps>
,为何这里用一个ReturnType,typeof又代表什么呢,谢谢。
1回答
-
同学你好,ReturnType 的用法来自typescript官网的Utility Types(类型利用)这个章节下。https://www.typescriptlang.org/docs/handbook/utility-types.html
除了returnType,还有Partial<Type>、Required<Type>、Readonly<Type>、Record<Keys,Type>、Pick<Type, Keys>、Omit<Type, Keys>、Exclude<Type, ExcludedUnion> 等等等等。这部分属于Typescript的高级用法,理解起来有点难度,但是非常重要。主要的目的是为了重复利用、修改某一个对象(或实例、或类型)的类型。
ReturnType
那么returnType是做什么用的呢?官网的描述很简单,比较费解,但是我们可以从例子来理解。
function getInt(a: string) { return parseInt(a); } type A = ReturnType<typeof getInt>; // => number
在上面的例子中,我们有一个getInt函数,传入一个string然后转化为number。
使用 typeof,我们可以获得getInt函数的签名,也就是(a: string) => number。ReturnType可以接受一个函数,然后返回这个函数被调用以后的返回类型(请注意,我们说的不是函数本身的类型,而是它被调用后的返回类型),也就是number。
这样处理的最大的好处就是,我们不需要在不同的函数中同步相同的返回类型,比如课程中的用法。
示例
以下是官网给出的关于returnType的解释和用法示例。
212021-02-27
相似问题