打字稿:如何理解此函数的类型注释?

时间:2019-06-15 03:18:24

标签: typescript

我在与Ngrx选择器相关的文章中遇到了这一点:
https://ultimatecourses.com/blog/ngrx-store-understanding-state-selectors

export function createSelector<State, S1, S2, S3, Result>(
  s1: Selector<State, S1>,
  s2: Selector<State, S2>,
  s3: Selector<State, S3>,
  projector: (s1: S1, s2: S2, s3: S3) => Result
): MemoizedSelector<State, Result>;

这是createSelector的打字稿定义,这是@ngrx/store的帮助功能。如果您使用过ngrx,则必须知道。
我有2点令人困惑的地方:
1. s1: Selector<State, S1>
根据createSelector的定义,它应该是一个函数参数,例如(state) => state.feature。如何理解它的功能?
2. <State, S1, S2, S3, Result>和其他通用部分。不完全了解。
在学习TS的方式上。谢谢

0 个答案:

没有答案