angular - 类型“T”不可分配给类型“ActionReducer”'。参数 'state' 和 'state' 的类型不兼容
问题描述
我正在尝试在以角度制作的应用程序中使用 redux,但出现以下错误。
//My app-module.ts
//redux init
export interface AppState {
destinos: DestinosViajesState;
};
const reducers: ActionReducerMap<AppState> = {
destinos: reducerDestinosViajes
};
let reducersInitialState = {
destinos: intializeDestinosViajesState(),
};
//fin redux init
//ESTADO
export interface DestinosViajesState{
items: DestinoVije[];
loading: boolean;
favorito: DestinoVije | null;
}
export const intializeDestinosViajesState = ()=>{
return {
items: [],
loading: false,
favorito: null
}
}
//ACCIONES
export enum DestinosViajesActionTypes {
NUEVO_DESTINO = '[Destinos Viajes] Nuevo',
ELEGIDO_FAVORITO = '[Destinos Viajes] Favorito'
}
//REDUCERS
export function reducerDestinosViajes(
state:DestinosViajesState,
action:DestinosViajesActions
) : DestinosViajesState {
switch (action.type) {
case DestinosViajesActionTypes.NUEVO_DESTINO: {
return {
...state,
items: [...state.items, (action as NuevoDestinoAction).destino ]
};
}
case DestinosViajesActionTypes.ELEGIDO_FAVORITO: {
state.items.forEach(x => x.setSelected(false));
let fav:DestinoVije = (action as ElegidoFavoritoAction).destino;
fav.setSelected(true);
return {
...state,
favorito: fav
};
}
}
return state;
}
错误
类型 '(state: DestinosViajesState, action: DestinosViajesActions) => DestinosViajesState' 不可分配给类型 'ActionReducer<DestinosViajesState, Action>'。参数 'state' 和 'state' 的类型不兼容。键入'DestinosViajesState | undefined' 不可分配给类型 'DestinosViajesState'。类型“未定义”不可分配给类型“DestinosViajesState”。
预期的类型来自属性 'destinos',它在类型 'ActionReducerMap<AppState, Action>' 上声明
解决方案
推荐阅读
- mysql - 如何为arcgis pro属性表中的字段设置最小和最大字符长度?
- node.js - 从 Docker 连接到本地主机
- hyperledger-fabric - 如何在没有重启环境 cc:restart 的情况下调试对流链码?
- python-3.x - 谷歌云功能认证。获取身份令牌授权承载头 curl
- react-native - 在对齐间隔的 FlatList 中滑动时,如何检测将对齐到哪个项目?
- python - 设计带阻滤波器(在 SciPy firwin)
- python - 为什么我的列表按数字升序返回?
- python - 无法在 jupyter notebook 中使用 gcloud ml-engine(或 ai-platform)命令向 f1-micro 提交作业
- python - 使用二元交叉熵时输入和输出形状不匹配 | Keras tf 自动编码器
- python - LSTM X 值在预测上发生了变化?