调用签名返回类型 '{side: boolean;微调器:布尔值;用户:用户; }' 和 'SharedState' 不兼容角11

问题描述

我正在 Angular11 中学习状态管理。当我尝试制作减速器时出现错误

类型'(状态:SharedState,动作:{side_status:boolean;}&TypedAction&{type:“[aside page]aside”;})=> { 旁白:布尔值;微调器:布尔值;用户用户; }' 不可分配给类型为 'OnReducer {side_status: boolean; } & TypedAction>]>'。

我试过这样

export interface SharedState {
  spinner: boolean;
  user: User;
  aside: false;
}
export const Initial_State: SharedState = {
  spinner: false,user: <User>{},aside: false,};


export const loading = createAction(
  Loading_Action,props<{ spinner: boolean }>()
);

export const aside = createAction(
  Aside_Action,props<{ aside_status: boolean }>()
);

const _loading_reducer = createReducer(
  Initial_State,on(loading,(state,action) => {
    return {
      ...state,spinner: action.spinner,};
  }),// getting error here
  on(aside,action) => {
    console.log(action);
    return {
      ...state,aside: action.aside_status,};
  })
);

Spinner 一个工作正常但放在一边抛出一个错误

但是当返回类型为 any 时,错误变为 no。我想知道为什么会这样。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)