typescript - Redux Dynamiske Moduler: Type 'AnyAction' kan ikke tildeles typen 'Action'


Jeg implementerer redux-dynamic-modules i min applikation, og det er ikke det første modul i min app, men jeg får en mærkelig fejl, når jeg prøver at oprette dette modul:

export const reduxProfile = () => {
  return {
    id: 'profile',
    reducerMap: {
      profile: reducer
    },
    sagas: [profileSagas],
    retained: true
  }
}
          Type 'Reducer<ProfileState, Action>' is not assignable to type 'Reducer<any, AnyAction>'.
            Types of parameters 'action' and 'action' are incompatible.
              Type 'AnyAction' is not assignable to type 'Action'.
                Type 'AnyAction' is not assignable to type 'SetPriceAction'.

Og her er min SetPriceAction, som ser ud til at se helt fin ud:

export interface SetPriceAction extends AnyAction {
  payload: Result;
  type: ActionTypes.SET_PRICE;
}
...
export type Action =
  | ...
  | SetPriceAction;

I en anden modul har stort set samme form, og alt fungerer fint der. Kan nogen hjælpe med, hvad der gik galt her?

Svar #1

En hurtig omvej ville være at gøre dit payload valgfrit.

export interface SetPriceAction extends AnyAction {
  payload?: Result;
  type: ActionTypes.SET_PRICE;
}

Men jeg leder aktivt efter en langsigtet løsning, der kræver, at nyttelasten bliver defineret. Jeg giver dig besked, hvis jeg gør nogen fremskridt i sagen

Relaterede artikler