【发布时间】:2017-09-28 08:00:24
【问题描述】:
使用 TypeScript 的新 ts-check,我不知道如何处理泛型函数。
/**
* @type {Reducer<IPoiState, any>}
*/
const poi = handleActions({
[ADD_BOOKMARK_START]: (state) => {
return { ...state };
},
}, {});
handleActions 类型来自 Definitey Typed,看起来像...
export function handleActions<State>(
reducerMap: ReducerMap<State>,
initialState: State
): Reducer<State, any>;
所以,我收到一条错误消息...
Type 'Reducer<{}, any>' is not assignable to type 'Reducer<IPoiState, any>'.
Type '{}' is not assignable to type 'IPoiState'.
是否有强制通用通过?
【问题讨论】:
-
IPoiState长什么样子? -
我只能猜测,但我认为您的
handleActions声明中出现的类型是错误的。State和IPoiState是否也在类型系统中的某个位置?类型系统错误地确定handleActions返回Reducer<{}, any>,所以你需要让它实际上是Reducer<State, any>类型,(我假设还让它认识到State是IPoiState) .
标签: javascript typescript definitelytyped