很难找到信息,因为我不知道这是什么,只能从上下文中分辨出它在做什么。它在底部的这个例子中使用。
https://github.com/piotrwitek/react-redux-typescript-guide#typing-reducer
// inferring union type of actions
import { $call } from 'utility-types';
import * as actions from './actions';
const returnsOfActions = Object.values(actions).map($call);
export type TodosAction = typeof returnsOfActions[number];
特别是最后一行。 number
未定义但似乎循环遍历数组returnOfActions
。基本上这相当于做
export type TodosAction = ActionType1 | ActionType2 | ...
你会怎么称呼这种语法(所以我可以读更多)
答案 0 :(得分:1)
我也被这种语法所吸引。事实证明这就是你所说的查找类型。最好在Typescript 2.1 here的宣布博客中解释。
在你的情况下,如果我们明确地写出类型
,事情会更容易理解写出类型
interface Actions {
[index: number] = ActionType1 | ActionType2
}
这里的显式类型声明
const returnsOfActions: Actions = Object.values(actions).map($call);
这说的是获取按编号索引的类型。哪一个
在我们的例子中是ActionType1 | ActionType2
export type TodosAction = typeof returnsOfActions[number];