在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代码的疏忽?