Type不能分配给实现它的Type

时间:2017-02-04 02:34:33

标签: typescript visual-studio-code ngrx

在vs studio代码的最新更新后,我的一个ngrx reducer出现错误。

  

类型'行动'的争论不能分配给类型的参数   ' SwitchDeviceAction&#39 ;.
  财产类型'类型'是不相容的。   输入' string'不能分配到'" SWITCH_DEVICE_ACTION"'。

减速器

export function uiStateReducer(state: UiState = INITIAL_UI_STATE, action: Action): UiState {
  switch (action.type) {
    case SWITCH_DEVICE_ACTION:
      return handleSwicthDeviceAction(state, action); // error is on this action
    // ...
  }
}

export function handleSwicthDeviceAction(state: UiState, action: SwitchDeviceAction): UiState {
  const newState = _.cloneDeep(state);
  newState.device = action.payload;
  return newState;
}

但是,由于SwitchDeviceAction实现Action,因此不应抛出类型错误。

export const SWITCH_DEVICE_ACTION = 'SWITCH_DEVICE_ACTION';
export class SwitchDeviceAction implements Action {
    readonly type = SWITCH_DEVICE_ACTION;
    constructor(public payload?: string) { }
}

通过我的Reducer传递的所有Actions都是这种情况,错误只出现在最新的vs studio代码更新之后。我的程序似乎工作正常。 我是否会以某种方式违反惯例而出现此警告,或者这是否是来自vs studio代码的疏忽?

0 个答案:

没有答案